node.js - Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE instalación de Phonegap
cordova npm (4)
Esto puede solucionarse sin deshabilitar SSL estricto, sin embargo no es trivial.
Encuentre los certificados que realmente se utilizan, es probable que esté detrás de un proxy de interceptación SSL corporativo . Es posible que pueda usar un navegador, alguna herramienta CLI, etc. Terminé ejecutando certmgr.msc
en Windows, ya que los certificados se distribuyen a través de la política de grupo y se exportan como archivos p7b.
Convierta los certificados si es necesario, utilicé la herramienta openssl para convertir de p7b a PEM (también conocido como .crt)
openssl pkcs7 -print_certs -inform DER -in /mnt/adam/certs/my-company-root.p7b -outform PEM -out my-company-root.crt
Combina , si hay más de un certificado, en un único archivo PEM, teniendo cuidado de ordenar de hoja en raíz.
cat my-company-leaf.crt my-company-intermediate.crt my-company-root.crt > my-company-single.crt
Configurar npm en el archivo de certificado
npm config set cafile my-company-single.crt
(o globalmente)
sudo npm config set -g cafile my-company-single.crt
Estoy tratando de instalar Phonegap en Ubuntu. La instalación de NodeJS fue exitosa, sin embargo, no puedo instalar Phonegap. Aquí está la salida de error de la terminal:
test@test-VirtualBox:~$ sudo npm install -g phonegap
npm http GET https://registry.npmjs.org/phonegap
npm http GET https://registry.npmjs.org/phonegap
npm http GET https://registry.npmjs.org/phonegap
npm ERR! Error: UNABLE_TO_VERIFY_LEAF_SIGNATURE
npm ERR! at SecurePair.<anonymous> (tls.js:1350:32)
npm ERR! at SecurePair.EventEmitter.emit (events.js:92:17)
npm ERR! at SecurePair.maybeInitFinished (tls.js:963:10)
npm ERR! at CleartextStream.read [as _read] (tls.js:463:15)
npm ERR! at CleartextStream.Readable.read (_stream_readable.js:320:10)
npm ERR! at EncryptedStream.write [as _write] (tls.js:366:25)
npm ERR! at doWrite (_stream_writable.js:219:10)
npm ERR! at writeOrBuffer (_stream_writable.js:209:5)
npm ERR! at EncryptedStream.Writable.write (_stream_writable.js:180:11)
npm ERR! at write (_stream_readable.js:573:24)
npm ERR! If you need help, you may report this log at:
npm ERR! <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR! reportbug --attach /home/test/npm-debug.log npm
npm ERR! System Linux 3.11.0-14-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "phonegap"
npm ERR! cwd /home/test
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.2.18
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/test/npm-debug.log
npm ERR! not ok code 0
Cualquier ayuda sería apreciada.
Obtuve el mismo error, dado que estaba detrás de un firewall / proxy corporativo y mi conexión pasó el certificado del proxy.
En tu línea de comando ejecuta:
npm config set strict-ssl false
NOTA: esta no es la mejor práctica para aceptar ciegamente certificados SSL no confiables o no válidos, que es lo que hace el comando (desactivar la verificación de certificados). Tu puedes correr
npm config set strict-ssl true
para volver a encenderlo
corriendo
npm config set strict-ssl false
resolvió mi problema
Estoy usando Vagrant (Linux precise32 Ubuntu) y Windows 7 como host.
Gracias
corriendo
npm config set strict-ssl false
trabajó para mi. Resolvió mi problema ...