dondominio - instalar certificado ssl linux
¿Cuál es la forma correcta de alimentar un certificado ssl en phantomjs? (3)
El soporte para certificados de clientes se ha implementado desde la respuesta original aceptada. Estoy publicando esto para ayudar a otros que tropezarán con esta pregunta también. Puede encontrar los parámetros para habilitar el soporte de certificados X509 / PKI en las instrucciones CLI de PhantomJS :
phantomjs --ssl-certificates-path=/path/to/pki/rootCA.pem
--ssl-client-certificate-file=/path/to/pki/cert.pem
--ssl-client-key-file=/path/to/pki/cert.np.key
Necesito acceder a un sitio interno protegido mediante certificados del lado del cliente. Por lo tanto, para usar phantomjs exporté el certificado que uso en Firefox para acceder al sitio y lo convertí en clave privada y certificado usando la línea de comando de openssl. Ahora, lo que phantomjs para presentar ese certificado al servidor SSL al acceder a una página en el servidor. ¿Cómo lo hago?
Lo he intentado
phantomjs --ssl-certificates-path=/etc/pki --ignore-ssl-errors=yes --proxy=myproxy:myport test.js
con / etc / pki siendo la ruta en la que he puesto el certificado y la clave
test.js es solo esto;
page = require(''webpage'').create()
page.open(''https://myprotectedsite/'', function(status) {
console.log(status);
phantom.exit();
})
Pero no funciona. console.log (estado) siempre es ''fallido''
¿Que necesito hacer?
Yo también busco la decisión. no está implementado https://github.com/ariya/phantomjs/issues/10524
"--ssl-certificates-path" - Se usa para el certificado de CA.
La característica que está implementada se puede ver en el proyecto github , la cosa es que ya no está incluida en la versión estable real (2.0.0), sin embargo, está previsto que se incluya en la versión 2.0.1 . Mientras tanto, puedes descargar una versión 2.0.1 desde aquí (el enlace proviene de la discusión de git).
Intento usar la versión 2.0.1
y puedo acceder al sitio pasando correctamente la autorización del cliente SSL con el siguiente comando:
Finalmente, se PhantomJS 2.1
nueva versión PhantomJS 2.1
que incluye esta característica, puede descargar desde aquí y probar la autorización del cliente SSL usando el siguiente comando:
phantomjs --ssl-client-certificate-file=C:/tmp/clientcert.cer
--ssl-client-key-file=C:/tmp/clientcert.key
--ssl-client-key-passphrase=1111
--ignore-ssl-errors=true
C:/tmp/test.js
Notas
Solo pruebo esto en Windows.
Intento usar un archivo PKCS12
como almacén de claves pero parece que con este formato no funciona, así que al usar openssl
el certificado y la clave privada usando los siguientes comandos:
--ssl-client-certificate-file
extracción para el --ssl-client-certificate-file
openssl pkcs12 -nokeys -clcerts -in a.p12 -out clientcert.cer
Clave de extracción para el --ssl-client-key-file
openssl pkcs12 -nocerts -in a.p12 -out clientcert.key
Además, uso --ignore-ssl-errors=true
para evitar la configuración del almacén de confianza para la validación del certificado del servidor.
Como script, uso test.js que contiene lo mismo que OP show en la pregunta:
page = require(''webpage'').create()
page.open(''https://myproject'', function(status) {
page.render(''C:/temp/connect.png'');
console.log(status);
phantom.exit();
})