Comandos OpenSSL
Puedes ejecutar comandos OpenSSL para ejecutar diferentes acciones, como crear, actualizar o extraer claves, o actualizar su formato. A continuación, se muestra una lista de posibles comandos.
Crear una solicitud de firma de certificado RSA con una clave privada nueva.
openssl req -x509 -nodes -days 36500 -newkey rsa:2048 -sha256 -keyout rsa_priv_key.key -out rsa_pub_key.crt -subj "/C=AR/ST=Capital Federal/L=Capital Federal/O=Veritran/OU=Veritran TI/CN=rsa-cert" openssl pkcs12 -export -out rsa-keystore.p12 -inkey rsa_priv_key.key -in rsa_pub_key.crt -name rsa_key
Crear una clave RSA con un certificado autofirmado
openssl req -x509 -new -nodes -key rsa_priv_key.key -days 3650 -out selfSignedCert.pem
Crear una clave RSA de 2048 bits
openssl genrsa -out privkey.pem -des3 2048
Obtener la clave pública de una clave RSA anterior
openssl rsa -in privkey.pem -pubout -out pubkey.pem
Firmar una solicitud de certificado con una CA personalizada
openssl ca -config ./openssl.cnf -in req.pem -out cert.pem
Nota
El archivo ./openssl.cnf contiene los parámetros de CA personalizados.
Crear un certificado autofirmado con una clave privada RSA existente
openssl req -new -x509 -key privateKey.pem -out signedCertificate.cer
Crear un almacén de claves pkcs12 con un par de claves y certificados anteriores
openssl pkcs12 -export -inkey privkey.pem -in cert.pem -out keystore.p12 -name "Keystore Name"
Mostrar el contenido de un almacén de claves pkcs12
openssl pkcs12 -in keystore.p12
Descifrar una clave privada cifrada
openssl rsa -in privkey.pem -out privkey_plain.pem
Validar un par de claves públicas y privadas
openssl rsa -noout -modulus -in file.key openssl x509 -noout -modulus -in file.cer
Nota
Ambos parámetros del módulo deben ser iguales.
Generar clave privada
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
Nota
Este comando crea una clave privada y una clave pública.
Generar clave pública a partir de clave privada
openssl rsa -pubout -in private_key.pem -out public_key.pem
Extraer solo la clave privada
openssl rsa -in private_key.pem -out private_unencrypted.key -outform PEM
Mostrar el contenido de la clave privada
openssl rsa -text -in private_key.pem
Cifrar con una clave pública
openssl rsautl -in test.txt -out test.txt.encrypted -pubin -inkey public_key.pem -encrypt
Descifrar con una clave pública
openssl rsautl -in test.txt.encrypted -out test.txt.decrypted -inkey private_key.pem -decrypt
Mostrar información del certificado
openssl x509 -outform PEM -in certificate.pem -text -out MyCertificate.info
Crear una CA personalizada
Crea una carpeta para almacenar certificados CA y, a continuación, establece que la propiedad dir= la apunte en openssl.cnf. Consulta los comandos relacionados a continuación.
Crear un certificado CA con openssl
openssl req -new -x509 -days 3650 -extensions v3_ca -keyout private/cakey.pem -out cacert.pem
Crear una solicitud de certificado
openssl req -new -nodes -out provider-req.pem -keyout private/provider-key.pem
Usar la CA para generar el certificado firmado utilizando la solicitud
openssl ca -out provider-cert.pem -infiles provider-req.pem
Convertir el certificado firmado a pkcs12
openssl pkcs12 -export -in provider-cert.pem -inkey private/provider-key.pem > provider.p12
Importar un almacén de claves pkcs12 a un almacén de claves JKS
keytool -importkeystore -srckeystore provider.p12 -destkeystore /path/to/somekeystore.jks -srcstoretype pkcs12
: