Puedes usar OpenSSL para mostrar prueba de posesión (POP) de una clave privada firmando un archivo de prueba con ella. Este método funciona para las claves RSA y ECC.
¿Qué es OpenSSL?
OpenSSL es un juego de herramientas de línea de comandos de código abierto muy útil para trabajar con X.509 certificados, solicitudes de firma de certificados (CSRs) y claves criptográficas. Si está utilizando una variante de UNIX como Linux o macOS, es probable que OpenSSL ya esté instalado en su computadora. Si desea utilizar OpenSSL en Windows, puede habilitar Subsistema Linux de Windows 10 o instalar Cygwin.
OpenSSL es un juego de herramientas de línea de comandos de código abierto muy útil para trabajar con X.509 certificados, solicitudes de firma de certificados (CSRs) y claves criptográficas. Si está utilizando una variante de UNIX como Linux o macOS, es probable que OpenSSL ya esté instalado en su computadora. Si desea utilizar OpenSSL en Windows, puede habilitar Subsistema Linux de Windows 10 o instalar Cygwin.
Crear una firma con la clave privada
-
Crea un archivo de prueba:
echo ssl.com> test.txt
-
Firme el hash sha256 del archivo de prueba, utilizando la clave privada (reemplace
privatekey.pem
en el siguiente comando con el nombre de archivo real de la clave):openssl dgst -sha256 -sign privatekey.pem -out test.sig test.txt
- Ahora puede probar la posesión de la clave privada enviando
test.sig
ytest.txt
a un tercero que verifica, como SSL.com. También puede verificar si la clave privada coincide con un certificado siguiendo el procedimiento a continuación:
Confirme que el certificado de coincidencias de clave privada
-
Extraiga la clave pública del certificado (reemplace
certificate.pem
en el siguiente comando con el nombre de archivo real del certificado):openssl x509 -pubkey -noout -in certificate.pem> publickey.pem
-
Verifique el hash sha256 del archivo de prueba, utilizando la clave pública:
openssl dgst -sha256 -verify publickey.pem -firma prueba.sig prueba.txt
- Si la clave privada coincide con el certificado, obtendrá el resultado
Verified OK
. Si no, obtendrá unVerification Failure
.
¡Gracias por elegir SSL.com! Si tiene alguna pregunta, comuníquese con nosotros por correo electrónico a Support@SSL.com, llamada 1-877-SSL-SECURE, o simplemente haga clic en el enlace de chat en la parte inferior derecha de esta página. También puede encontrar respuestas a muchas preguntas de soporte comunes en nuestro base de conocimientos.