Las funciones y el uso de la herramienta Java keytool
Keytool es una eficaz herramienta de gestión de claves y certificados de seguridad. Permite a los usuarios administrar sus propios pares de claves públicas y privadas mediante firmas digitales, administrar certificados relacionados para la autoautenticación, administrar la integridad de los datos y los servicios de autenticación, y permite a los usuarios almacenar en caché sus claves públicas cuando se comunican.
Un certificado es una firma digital de una entidad (persona física, empresa, etc.). ), que representa el valor detallado de la clave pública de otra entidad (u otra información). Cuando se firman datos, la información de la firma se utiliza para verificar la integridad y autenticidad de los datos. Integridad significa que los datos no han sido modificados ni manipulados. Autenticidad significa que los datos realmente provienen de la parte que los generó y firmó.
Keytool almacena claves y certificados en un almacén de claves. El almacén de claves se implementa como un archivo que protege la clave con una contraseña.
Otra herramienta, jarsigner, utiliza información del almacén de claves para generar o verificar firmas digitales en archivos Java (archivos jar).
El almacén de claves tiene dos entradas diferentes:
Entrada de clave: Almacena información de clave de cifrado muy sensible y la almacena en un formato protegido para evitar el acceso no autorizado. Acceso autorizado. Una clave almacenada en este formulario es una clave secreta o una clave privada que corresponde a la clave pública en la cadena de certificados.
Portal de Certificados de Confianza: Contiene un certificado de clave pública única que pertenece a otras secciones. Se denomina certificado confiable porque la clave pública del certificado en el que confía el almacén de claves en realidad pertenece a la identidad del propietario del certificado.
Alias de almacén de claves:
Se accede a todas las entradas del almacén de claves (entradas de claves y de certificados de confianza) a través de alias únicos que no distinguen entre mayúsculas y minúsculas. Por ejemplo, los alias hugo y Hugo apuntan a la misma entrada del almacén de claves.
Al agregar entradas a un almacén de claves, puede usar el parámetro genkey para generar un par de claves (claves públicas y privadas) y puede usar el parámetro de importación para agregar un certificado o una cadena de certificados a un certificado confiable. .
Por ejemplo:
keytool genkey alias duke keypass dukekeypasswd
La función de este comando es generar un nuevo par de clave pública * * */clave privada.
Si deseas cambiar tu contraseña, puedes usar:
keytool keypasswd alias duke keypasswd duke keypasswd new new pass
Cambia la contraseña anterior dukekeypasswd a newpass .
Generación de almacén de claves:
Cuando se utiliza el comando genkey o import o IdentityDB para agregar datos al almacén de claves, si el almacén de claves no existe, se generará un almacén de claves con el nombre predeterminado. es que el almacén de claves se almacena en el directorio de inicio del usuario.
Cuando se especifica mediante el almacén de claves, se generará el almacén de claves especificado.
Implementación del almacén de claves:
La clase Keytool se encuentra en el paquete de seguridad de Java. Proporciona una buena interfaz para obtener y modificar la información en el almacén de claves. Actualmente hay dos líneas de comando: Keytool y jarsinger. Una herramienta GUI, Policy, puede implementar el almacén de claves. Como el almacén de claves es público, los usuarios pueden utilizarlo para escribir aplicaciones de seguridad adicionales.
El almacén de claves también tiene una implementación interna proporcionada por Sun, que trata el almacén de claves como un archivo y utiliza un tipo de almacén de claves (formato) JKS, que protege cada almacén de claves con una clave privada separada y protege la integridad. de todo el almacén de claves con contraseñas potencialmente diferentes.
Algoritmos y tamaños de clave admitidos:
Keytool permite a los usuarios especificar pares de claves y registrar algoritmos de firma proporcionados por proveedores de servicios de cifrado. El algoritmo de generación de pares de claves predeterminado es DSA. Si la clave privada es DSA, el algoritmo de firma predeterminado es SHA con DSA. Si la clave privada es RSA, el algoritmo predeterminado es MD con RSA.
Al generar un par de claves DSA, la clave debe estar entre bits. El tamaño de clave predeterminado para cualquier algoritmo es de 10 bits.
Certificado:
Un certificado es una firma digital de una entidad que indica que la clave pública de otra entidad tiene un valor determinado.
Clave pública: Es una asociación digital con una entidad detallada y está destinada a ser conocida por todas las demás entidades que deseen establecer una relación de confianza con esa entidad. La clave pública se utiliza para verificar la firma. /p>
Firma digital: si los datos han sido firmados y almacenados en una entidad, una firma puede probar que la entidad conoce los datos y que los datos fueron firmados y enviados con la clave privada de la entidad;
Identidad: La forma de conocer la entidad es , en algunos sistemas la identidad es una clave pública; en otros sistemas puede ser el UID Unix de la dirección de correo electrónico nombrada por
Clave privada: número. Cada clave privada solo puede ser conocida por la entidad específica propietaria de esa clave privada. Las claves públicas y privadas están presentes en todos los pares de claves de un sistema cifrado con la clave pública. La clave pública está cifrada (como DSA). La clave privada se comunica con la clave pública correcta para calcular la firma.
Entidad: Una entidad puede ser una persona, una organización, un programa, una computadora, una empresa, un banco o algo en lo que quieras confiar.
Ejemplo de aplicación de Keytool:
Generar almacén de claves:
Keytool gen key alias usuario (alias del almacén de claves) clave lG RSA clave de validez Keystore Keystore (almacén de claves especificado)
Ejecute el siguiente comando desde el símbolo del sistema:
Ingrese la contraseña del almacén de claves: su contraseña.
¿Cuáles son tu nombre y apellido?
[Desconocido]: Tu nombre (ingresa tu nombre)
¿Cuál es el nombre de tu organización?
[Desconocido]: Tu animal (ingresa el nombre de tu organización)
¿Cómo se llama tu organización?
[Desconocido]: Nombre de su organización (ingrese el nombre de su organización)
¿Cuál es el nombre de su ciudad o región?
[Desconocido]: Nombre de tu ciudad (ingresa el nombre de tu ciudad)
¿Cómo se llama tu estado o provincia?
[Desconocido]: el nombre de tu provincia (ingresa el nombre de tu provincia)
¿Cuál es el código de país de esta unidad?
[Desconocido]:cn (ingrese el nombre del país)
Su nombre es
l = El nombre de su ciudad ST = El nombre de su provincia C = cn ¿Es correcto? ?
[No]: Sí
Verifique el almacén de claves:
lista de herramientas de claves v almacén de claves almacén de claves
Ingrese la clave Contraseña de la biblioteca: su contraseña.
Se mostrará el contenido del almacén de claves, por ejemplo:
Tipo de almacén de claves: jks
Proveedor del almacén de claves: SUN
Su almacén de claves contiene entradas
Alias: su nombre
Fecha de creación: diciembre
Tipo de entrada: keyEntry
Longitud de la cadena del certificado:
Certificado [ ]:
propietario:CN = su nombre OU = su organización O = el nombre de su organización
l = el nombre de su ciudad ST = el nombre de su provincia C = CN
Emisor: CN = Duke OU = Java Sofare O = Sun Microsystems Inc L = Palo Alto ST = CA C = Estados Unidos
Número de serie:c adc
Válido desde :jueves diciembre: :PST hasta :jueves diciembre: :PST
Certificado de huella digital:
MD:F:B:B:A:F::CF::CF: F:FF::F:C:C:F
Secretario de Asuntos Internos:Secretario de Asuntos Internos:Oficina de Asuntos Internos Director: Director de Asuntos Internos: Director de Asuntos Internos: Director de Asuntos Internos: Director de Asuntos Internos: Director de Asuntos Internos: Director de Asuntos Internos:
Exportar el almacén de claves al archivo:testkey:
keytool exporta alias Duke keystore keystore rfc file testkey
Salida del sistema:
Ingrese la contraseña del almacén de claves: su contraseña.
Certificado almacenado en el archivo
Ingrese el certificado en el nuevo almacén de confianza:
keytool importar alias dukecert archivo testkey almacén de claves almacén de confianza
p>
Ingrese la contraseña del almacén de claves: su nueva contraseña.
Compruebe el almacén de confianza:
lista de herramientas clave v almacén de confianza del almacén de claves
Se mostrará la información del almacén de confianza.
Ahora puede ejecutar su aplicación usando el almacén de claves apropiado, por ejemplo:
java ssl keystore = keystore ssl keystore contraseña = servidor de contraseñas
Y: java ssl tienda de confianza = tienda de confianza
Lishi Xinzhi/Article/program/Java/hx/201311/25684