instalar dondominio cómo crear contratar certificado ssl phantomjs

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?



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(); })