Estoy tratando de hacer una llamada https
usando el módulo request
, a continuación se muestran las opciones existentes actuales
y tengo un archivo pfx
y password
.
strictSSL: false,
rejectUnauthorized: false,
agent: false
¿Puede alguien ayudarme con todo lo que se debe configurar como verdadero? ¿Necesito exportar archivos cert
?
Si es posible, comparta el comando openssl
para esto.
Intenté exportar cert
e hice strictSSL and rejectUnauthorized true
, pero terminé viendo un error como
message: 'Error: unable to verify the first certificate'
La versión del nodo es 6.9.2
¿Intentaste configurando
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0'
@rpgeeganage esta no es una forma preferida.
Pila de errores completa
{ Error: unable to verify the first certificate
at Error (native)
at TLSSocket.<anonymous> (_tls_wrap.js:1085:38)
at emitNone (events.js:86:13)
at TLSSocket.emit (events.js:185:7)
at TLSSocket._finishInit (_tls_wrap.js:603:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:433:38) code: 'UNABLE_TO_VERIFY_LEAF_SIGNATURE' } 'error'
También me he encontrado con este problema. ¿Encontraste una solución @tomalex0 ?
¿Algún avance en esto?
Me he encontrado con este problema también.
Para solucionarlo, deshabilite el requisito de que los certificados SSL deben ser válidos y omita por completo. Agregue "strictSSL: false" como tal:
{
url: "https://...",
method: "POST",
headers: {
"Content-Type": "application/json"},
strictSSL: false
}
Mi servidor está en una red privada (sin acceso a Internet) y debería funcionar allí y firmé el certificado y confío en él con mi propia CA... Recibo el error UNABLE_TO_VERIFY_LEAF_SIGNATURE
incluso cuando agrego el archivo ca.pem a options.agentOptions.ca. ¿Qué debo hacer para corregir este error obviamente sin deshabilitar la opción de SSL estricto o cualquier otra opción insegura?
En mi caso, un certificado SSL que generé con LetsEncrypt funciona bien con la biblioteca https del nodo o con la biblioteca de solicitudes. Sin embargo, usar el mismo certificado del puerto 443 (que funciona bien con los componentes Golang de mi sistema y funciona bien en Chrome) obstruye por completo la biblioteca https de Node y la biblioteca de solicitudes, ambas con el mismo error. Todavía estoy tratando de entender qué es lo que está fallando aquí, pero al menos en este caso, estos trucos de CA raíz parecen no funcionar.
Este problema se ha marcado automáticamente como obsoleto porque no ha tenido actividad reciente. Se cerrará si no se produce más actividad. Gracias por sus aportaciones.
¿Nadie que lo siga tan de cerca y finja que nunca sucederá?
mi URL funciona bien con todos los navegadores pero no con "request.js"
Estaba recibiendo el mismo error. Se solucionó marcando strictSSL como falso, el siguiente código funcionó para mí.
var cliente = new RestClient({
conexión: {
pfx: fs.readFileSync(certFile),
frase de contraseña: certPassword,
SSL estricto: falso,
rechazoNo autorizado: falso,
agente: falso
}
});
Estoy usando la arquitectura de cliente de descanso de nodo para mi API.
Espero que esto pueda ayudar a cualquiera que busque una solución similar.
Prueba esto:
var request = require("request").defaults({rejectUnauthorized:false});
Comentario más útil
Para solucionarlo, deshabilite el requisito de que los certificados SSL deben ser válidos y omita por completo. Agregue "strictSSL: false" como tal: