- Extraje el certificado utilizando el comando SSL / export de Chrome.
- Luego lo proporcionó como entrada para openvpn, en la configuración de openvpn:
pkcs12 "path/to/pkcs12_container"
- Al llamar
openvpn ~/openvp_config
, solicita una contraseña para la clave privada (que ingresé al exportar usando Chrome):
Enter Private Key Password:...
- Quiero eliminar esta solicitud de contraseña.
La pregunta: ¿cómo eliminar la contraseña para la clave privada de pkcs12?
Es decir, cree un archivo pkcs12 que no requiera una contraseña.
(Parece que de alguna manera ya hice esto hace un año, y ahora lo olvidé. Maldita sea).
ssl-certificate
openssl
Ayrat
fuente
fuente
./remove_pass_from_cert.sh YourCertName YourCertPass
Respuestas:
Se puede lograr mediante varias
openssl
llamadas.Primero, extraiga el certificado:
En segundo lugar, la clave CA:
Ahora, la clave privada:
Ahora elimine la frase de contraseña:
Arme las cosas para el nuevo archivo PKCS:
Y crea el nuevo archivo:
Ahora tiene un nuevo archivo de clave PKCS12 sin frase de contraseña en la parte de clave privada.
fuente
ca-cert.ca
Qué es ?-nodes
se ignora cuando-export
se usa, no está documentado para este caso (consulte la página de manual de openssl,-nodes
solo aparece al exportar desde PKCS # 12 a PEM). Su última llamada aún me solicita una contraseña de exportación. Y si solo presiono regresar, obtengo un archivo PKCS # 12 cuya contraseña es una cadena vacía y no una sin contraseña. Cuando lo hagoopenssl pkcs12 -in "NewPKCSWithoutPassphraseFile"
, todavía me pide una contraseña de importación. Solo puedo presionar regresar y eso funciona, pero si no hubiera una contraseña, ni siquiera se solicitaría.La solución más simple que he encontrado es
Exportar a archivo pem temporal
Convertir pem de nuevo a p12
Eliminar certificado temporal
fuente
keytool -v -list -storetype pkcs12 -keystore unprotected.p12
, emitirá una advertencia y NO mostrará el certificado. Por lo tanto, puede funcionar para OpenVPN, pero no para otra cosa.Esto se puede hacer fácilmente en un solo paso sin archivo temporal:
openssl pkcs12 -in "PKCSFile" -nodes | openssl pkcs12 -export -out "PKCSFile-Nopass"
Responda el mensaje Importar contraseña con la contraseña. Responda las solicitudes Export Passowrd con <CR>
Hecho.
Tenga en cuenta que esto maneja cualquier número de certificados intermedios que puedan estar en el paquete ...
Recomiendo encarecidamente tener cuidado con el archivo resultante; sería una buena idea configurar umask en 377 primero (no unix: esto significa que solo el propietario puede leer el archivo que se creó). Supongo que son 2 pasos, si su umask predeterminado es permisivo ...
fuente
Ahora, la clave privada:
Elimine ahora la frase de contraseña:
Los 2 pasos pueden ser reemplazados por
fuente
Ninguno de estos funcionó para mí. Al final volví al código dotNet que funcionó por primera vez.
fuente