English English French French Spanish Spanish German German
Geekflare cuenta con el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliados comprando enlaces en este sitio.
Comparte en:

17 ejemplos de comandos de Keytool para saber como administrador de sistemas y desarrollador

Keytool-Comando-Ejemplos
Escáner de seguridad de aplicaciones web Invicti – la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Keytool es una utilidad de línea de comandos que le permite administrar/almacenar certificados y claves criptográficas.

Si su sistema tiene instalado Java, puede usar el comando keytool para importar un certificado de CA, enumerar certificados, crear certificados autofirmados, almacenar frases de contraseña y claves públicas/privadas, y hacer muchas más cosas. 

¿Confundido? No temas; Lo explicaré en términos más simples a medida que lea.

Tenga en cuenta que uso Linux para probar los comandos y explicarle un poco más con ejemplos.

También puede usar los comandos de Keytool en Windows y macOS.

¿Qué es un comando Keytool?

Es una utilidad de gestión de claves y certificados. Le permite almacenar pares de claves privadas/públicas, que generalmente son para verificar/autenticar el acceso a los servicios.

Teniendo en cuenta el título de este artículo, se puede suponer que el comando es utilizado principalmente por administradores de sistemas y desarrolladores.

En su mayor parte, sí, pero un usuario puede ser creativo con el comando keytool para almacenar frases de contraseña y claves secretas con fines de autenticación, cifrado y descifrado. Entonces, si tiene curiosidad, debería probarlo en su sistema.

Si es nuevo en el concepto de claves criptográficas, puede consultar nuestro artículo sobre cifrado de datos antes de probar los comandos de keytool.

Además, revisando el Ejemplos de comandos de OpenSSL también puede darte una idea de cómo es diferente y qué puedes hacer con cualquiera de ellos.

Create a Self-Signed Certificate

keytool -genkeypair -alias <alias> -keypass <keypass> -validity <validity> -storepass <storepass>

A diferencia de un Certificado SSL que compra, un certificado autofirmado solo se usa con fines de desarrollo/prueba para usar una conexión segura.

Puede generar uno usando la sintaxis del comando keytool mencionada anteriormente. Por ejemplo, esto es lo que parece:

keytool -genkeypair -alias geekflare -keypass passforkeystore -validity 365 -storepass passforkeystore

Puede usar cualquier nombre para el alias; Uso geekflare como texto de marcador de posición. Puede personalizar la validez y especificar una contraseña para el Keystore reemplazando “passforkeystore” en el comando anterior.

Tenga en cuenta que solo se admite una contraseña para KeyStores PKCS12. Sin embargo, es un tipo de Keystore conveniente que no es específico de Java.

Si necesita dos contraseñas diferentes para su Keystore y el certificado, es posible que desee decirle explícitamente al comando keytool que use otra interfaz.

Puedes leer más al respecto en su documentación oficial.

Una vez que continúe con la creación, le pedirá detalles adicionales de autenticidad. Así es como debería verse:

What is your first and last name?
  [Unknown]:  Ankush
What is the name of your organizational unit?
  [Unknown]:  Geekflare
What is the name of your organization?
  [Unknown]:  Geekflare
What is the name of your City or Locality?
  [Unknown]:  Bhubaneswar
What is the name of your State or Province?
  [Unknown]:  Odisha
What is the two-letter country code for this unit?
  [Unknown]:  91
Is CN=Ankush, OU=Geekflare, O=Geekflare, L=Bhubaneswar, ST=Odisha, C=91 correct?
  [no]:  yes

Create a Java Keystore and Key Pair

keytool -genkeypair -keyalg RSA -keysize 2048 -keystore keystore.jks -alias geekflarejava -validity 3650

Generate a Java Keystore and Import a certificate

Asegúrese de tener un certificado válido o haber generado uno anteriormente; una vez hecho esto, puede importarlo y generar un Java Keystore.

keytool -importcert -file test.crt -keystore truststore.jks -alias geekflare

Generate a Key Pair to the Default Keystore With Subject

Puede generar rápidamente un par de claves (por ejemplo, con el nombre "ca") usando el siguiente comando:

keytool -alias ca -dname CN=CA -genkeypair

Create a Chain of Signed Certificates

Suponga que ha creado pares de claves de ca y ca1. Puede crear una cadena de certificados firmados donde ca firmará ca1 con los siguientes comandos:

keytool -alias ca1 -certreq
keytool -alias ca -gencert -ext san=dns:ca1
keytool -alias ca1 -importcert

Puede completar la cadena con dos pares de claves más, ca1 y ca2, donde ca1 firmará ca2.

Importing a Certificate

Si desea importar un certificado desde un archivo disponible, esto es lo que puede hacer:

keystool -import -alias geekflare -file geekflareserver.cer

Create a Certificate Signing Request (CSR) for the existing Keystore

Teniendo en cuenta que ya creó un almacén de claves, puede generar una CSR.

keytool -certreq -keyalg rsa -keystore keystore.jks -alias server -file geekflare.csr

List Certificates Stored in Java Keystore

Un almacén de claves puede tener varias entradas de certificados. Suponiendo que estamos comprobando la lista de certificados en "almacén de claves.jks” base de datos, esto es lo que tenemos que escribir:

keytool -v -list -keystore keystore.jks

La salida para esto se verá así:

keytool -v -list -keystore keystore.jks
Enter keystore password:  
Keystore type: PKCS12
Keystore provider: SUN

Your keystore contains 2 entries

Alias name: geekflarecert
Creation date: 16-Nov-2022
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
Owner: CN=Ankush, OU=Geek, O=Geekflare, L=Bhubaneswar, ST=od, C=91
Issuer: CN=Ankush, OU=Geek, O=Geekflare, L=Bhubaneswar, ST=od, C=91
Serial number: a0b9a99
Valid from: Wed Nov 16 09:42:37 IST 2022 until: Sat Nov 13 09:42:37 IST 2032
Certificate fingerprints:
	 SHA1: 23:7C:65:A7:A6:84:18:F8:45:04:92:DF:D4:BB:0F:91:6D:A5:C5:BE
	 SHA256: C0:25:ED:B8:CF:1A:E6:E1:C5:75:A8:10:8F:CD:BE:42:26:96:9C:9A:FA:74:65:07:71:06:9A:2C:F5:80:FE:7F
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3

Check the Contents of a Single Certificate

Teniendo en cuenta que ya tiene un certificado generado, puede consultar más sobre él usando lo siguiente:

keytool -v -printcert -file server.crt

View Certificates in a Java Keystore

Puede enumerar todos los certificados de una base de datos de almacén de claves. Así es como se ve el comando:

keytool -v -list -keystore keystore.jks

View Keystore Using an Alias and Keystore

Si desea verificar un Keystore usando el nombre de alias que configuró al crearlo, escriba lo siguiente:

keytool -v -list -keystore keystore.jks -alias geekflareserver

List Certificates in KeyStore

Si desea verificar los certificados almacenados en el almacén de claves predeterminado, use el comando:

keytool -list -storepass passforkeystore

Necesitas reemplazar “passforkeystore” con la contraseña que ha establecido.

View Certificate Information

Si necesita verificar los detalles de un solo certificado, puede usar su alias sin especificar la base de datos trapezoidal.

Así es como se ve:

keytool -list -v -alias geekflare -storepass passforkeystore

View Certificate in PEM Format

PEM es uno de los formatos más comunes para certificados y claves criptográficas. Si desea comprobar un certificado con PEM, escriba lo siguiente:

keytool -v -printcert -file geekflare.crt -rfc

Change a Java Keystore Password

Si ya ha creado una contraseña para Java Keystore, puede cambiar la contraseña con el comando:

keytool -delete -alias geekflare -keystore keystore.jks

Delete a Certificate from Java Keystore

Puede especificar el almacén de claves de Java y su alias para eliminarlo. Por ejemplo:

keytool -delete -alias geekflare -keystore keystore.jks

Explore The Command and Get Help

El comando tiene varios argumentos y extensiones para hacer muchas cosas. Dependiendo de su caso de uso, es posible que necesite o no utilizarlos todos.

Entonces, si desea profundizar en las opciones de comando, siempre puede escribir:

keytool -help

En cualquier caso, si está utilizando una terminal de Linux, recomendaría leer la página man (manual) con este comando:

man keytool

Con el comando man, puede obtener todos los detalles que necesita sobre el comando keytool.

¡Entonces, mantén tu superpoder para aprender todo lo que puedas al respecto!

Resumen

La ruta de los archivos y otras opciones de personalización pueden ser un poco diferentes de la plataforma que utiliza. También puede consultar la documentación de Oracle para conocer las opciones estandarizadas.

Keytool es una excelente herramienta para una variedad de tareas. ¡Pruébelo y vea lo que puede hacer con él!

También puedes explorar algunos Comandos de Linux para mantener y mantener los sistemas funcionando de manera óptima.

Gracias a nuestros patrocinadores
Más lecturas excelentes sobre Linux
Impulse su negocio
Algunas de las herramientas y servicios para ayudar a que su negocio crezca.
  • Invicti utiliza Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en cuestión de horas.
    Prueba Invicti
  • Web scraping, proxy residencial, administrador de proxy, desbloqueador web, rastreador de motores de búsqueda y todo lo que necesita para recopilar datos web.
    Prueba Brightdata
  • Semrush es una solución de marketing digital todo en uno con más de 50 herramientas en SEO, redes sociales y marketing de contenido.
    Prueba Semrush
  • Intruder es un escáner de vulnerabilidades en línea que encuentra debilidades de ciberseguridad en su infraestructura, para evitar costosas filtraciones de datos.
    Trata Intruder