Yarn: error no se pudo obtener el certificado del emisor local

Creado en 12 oct. 2016  ·  42Comentarios  ·  Fuente: yarnpkg/yarn

Hola

¿Quieres solicitar una _feature_ o informar de un _bug_?
Bug

Si el comportamiento actual es un error, proporcione los pasos para reproducirlo.

λ yarn config set strict-ssl false
yarn config v0.15.1
success Set "strict-ssl" to "false".
Done in 0.06s.

yarn install

error unable to get local issuer certificate
    at Error (native)
    at TLSSocket.<anonymous> (_tls_wrap.js:1060:38)
    at emitNone (events.js:86:13)
    at TLSSocket.emit (events.js:185:7)
    at TLSSocket._finishInit (_tls_wrap.js:584:8)
    at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:416:38)
info Visit http://yarnpkg.com/en/docs/cli/install for documentation about this command.

¿Cuál es el comportamiento esperado?
Quiero instalar mis dependencias.
¿Me estoy perdiendo algo (tal vez)?
Gracias

Por favor, mencione su versión de node.js, yarn y sistema operativo.

NodeJS: V6.7
hilo: v0.15.1
SO: Windows 7

Comentario más útil

Tuve el mismo problema en las mismas circunstancias, pero ejecuté este comando yarn config set strict-ssl false y funcionó.

Todos 42 comentarios

Tengo el mismo problema porque estamos detrás de un proxy que agrega SSL autofirmado.

El mismo problema ocurre cuando strict-ssl está habilitado pero las CA se especifican manualmente en .npmrc . Yarn parece ignorar toda la configuración SSL (o requería una diferente pero no pude encontrarla en la configuración)

ca[]="-----BEGIN CERTIFICATE-----\n..."

¡Tener el mismo problema aquí en el trabajo!

teniendo el mismo problema (estoy usando un autocertificado).

El mismo problema, también configurar el registro en una variante no ssl o el registro original no ssl. Npmjs.org no ayuda.

Detrás de un proxy corporativo, por lo que también se encuentra con este problema.

Tengo exactamente el mismo error detrás de un proxy corporativo :). No puedo esperar por una solución :)

Tengo el mismo problema, la red está detrás del proxy, configuré estricto-ssl en falso y también configuró el registro como no ssl, todavía no funciona. Es mejor arreglarlo lo antes posible. No puedo esperar.

Creo que @TAGraves está trabajando en esto en el # 1025. ¡Tengo muchas ganas de verlo aterrizar! 👍

PR # 736 agregará soporte para cafile, que es otra forma de resolver este problema y, a diferencia de la desactivación de estricto-ssl, no será vulnerable a los ataques MITM.

Hemos fusionado el soporte para cafile y strict-ssl por lo que este problema debería resolverse.

Todavía tengo este problema con yarn v0.21.3

Actualización: también en la compilación nocturna 0.22.0-20170303.1013

Descubrí que si duplicaba la configuración estricta-ssl y otra de .npmrc en .yarnrc, entonces las cosas empezaron a funcionar (o use yarn config set para agregar cada parte). No estoy seguro de por qué no lo recogió de .npmrc.

Tuve el mismo problema en las mismas circunstancias, pero ejecuté este comando yarn config set strict-ssl false y funcionó.

Sí, eso es lo que funcionó para mí también.

@sylvesteraswin hizo lo mismo y funcionó, gracias 👍

todo roto en 0.23.1, configurar el registro en http y estricto-ssl en falso funcionó, pero ahora no. También tengo problemas con la interceptación del certificado y es por eso que necesito http.

Intenté yarn config set strict-ssl false , pero ahora obtengo "404 Not Found". Mac Sierra, Nodo 8.1.2, hilo 0.27.5.

@JesterXL Me funcionó. Usando la misma versión v0.27.5

yarn config set strict-ssl false funcionó para mí!

npm config establece estricto-ssl

trabajó para mi

Solo asegurándome de que las personas no copien ciegamente el código y pegue aquí: NO DESACTIVAR CONTROLES SSL ESTRICTOS.

Bien, ahora que tengo su atención, si sabe qué está haciendo exactamente y qué riesgos está asumiendo con esto, puede que lo haga. De lo contrario, simplemente no lo hagas.

¿Existe una solución que no implique exponerse a los peligros del uso de HTTP? Realmente me gustaría poder solucionar esto sin tener que deshabilitar SSL estricto.

Bueno, sería genial usar STRICT SSL, pero el problema son las empresas que intercambian los certificados, en realidad están dificultando no usar http solo para poder espiar nuestro tráfico y asegurarse de que no estamos haciendo algo malo. Básicamente, confían en el público en general más que en sus empleados. Sin embargo, existe una alternativa, debe obtener una copia del certificado que la empresa está intercambiando y configurar el cafile en la ruta del certificado. Este no es un proceso tan simple como debería ser, pero funciona y es seguro. Si no funciona para usted, entonces necesita actualizar su versión de hilo ...

@damiandennis Mi empresa acaba de implementar un nuevo certificado, así que lo

@ snood1205 Misma situación. Todo lo demás funciona bien excepto yarn y pip

Creo que esto se debe a la arquitectura de la biblioteca request que confiamos:

StrictSSL: si es verdadero, requiere que los certificados SSL sean válidos. Nota: para utilizar su propia autoridad de certificación, debe especificar un agente que se creó con esa CA como opción.

Por lo tanto, debería poder incluir explícitamente en la lista blanca el certificado de su empresa estableciendo los siguientes valores de configuración en su .yarnrc :

  • California
  • cafile
  • cert
  • llave

@BYK Esta es una pregunta simple, perdóname.

¿Cuál es el formato para establecer estos valores? ca=~/Code/certs/mycert.crt ?

Además, hay un gran descargo de responsabilidad en la parte superior de .yarnrc que me dice que no lo modifique. ¿Tengo su permiso para cambiarlo de todos modos? 😀

@ao ¡ Disfruta de tus descargas no deterministas!

yarn config set strict-ssl false funcionó para mí. Gracias @sylvesteraswin

siguiente comando funcionó para mí:
conjunto de configuración de hilo estricto-ssl falso

@vrajpoot ¡ Eso es genial! Pero no lo publique aquí, ya que podría engañar a otras personas imprudentes para que también desactiven la seguridad básica y, potencialmente, descarguen malware en sus computadoras.

Está completamente bien que le guste el malware e infectar a propósito su computadora con él ... pero debería permanecer como un tema de investigación o un pasatiempo, no una cosa real que uno haría en su máquina de trabajo.

@brandonsturgeon ha planteado puntos muy válidos que deben abordarse y los mantenedores de hilo deben responder. No es el único que se pregunta.

https://github.com/yarnpkg/yarn/issues/6578

Es interesante que todos digan "no deshabilite estricto-ssl".
Pero nadie lo consigue nunca.

yarn config set strict-ssl false funcionó para mí. Gracias

Recibí este error cuando intenté instalar el paquete jquery. Después de toneladas de investigación, finalmente se encontró que tampoco se debe establecer el strict-ssl en false ni se debe editar el archivo .yarnrc . El enfoque limpio e ideal para esto es:
$ yarn config set cafile "/physical/path/to/certificate-file.pem" y eso es todo. Pude instalar jquery con éxito sin apagar SSL después de disparar este comando.

Siempre se puede verificar la configuración con hilo antes y después del comando anterior yarn config list y asegurarse de que el cambio que hicimos anteriormente se haya realizado o no, lo que generalmente ocurre. :)

@ sandipt27 Lamento que haya tardado tanto en encontrar el camino correcto. Probablemente no los encontró porque:

  1. La documentación yarnrc no mencionó en absoluto este parámetro de configuración secreto. La convención de "característica indocumentada es experimental" no parece ser válida para Yarn.
  2. Incluso la documentación de NPM es demasiado breve para ser útil. Por ejemplo, no especificó qué tipo de expansión se realiza, que probablemente dependa de la plataforma. Una vez más, la gente ha estado usando funciones indocumentadas durante mucho tiempo.
  3. En realidad, cafile se ha mencionado varias veces en este número, pero más personas simplemente están enviando spam "oye, deshabilitar SSL funciona para mí" sin pensar en la seguridad porque quieren que su trabajo se haga rápidamente. ¿Quién necesita SSL de todos modos?

Probablemente no pueda arreglar 3, y 2 está en otro alcance, pero tal vez alguien pueda salir y arreglar 1. Si se le ocurre una Solicitud de extracción y quiere un segundo par de ojos, probablemente pueda ayudar (tengo algunos conocimientos sobre criptografía), aunque no puedo aprobarlo ya que no soy mantenedor.

https://github.com/yarnpkg/yarn/issues/841#issuecomment -559037850
No me funciona.

Configuré un repositorio privado (Verdaccio) con certificado de emisor local
E hizo la misma configuración con un archivo de certificado encadenado.
Pero Yarn no ha podido descargar los paquetes.

Funcionó en NPM sin ningún problema.

@ sandipt27 Lamento que haya tardado tanto en encontrar el camino correcto. Probablemente no los encontró porque:

  1. La documentación yarnrc no mencionó en absoluto este parámetro de configuración secreto. La convención de "característica indocumentada es experimental" no parece ser válida para Yarn.
  2. Incluso la documentación de NPM es demasiado breve para ser útil. Por ejemplo, no especificó qué tipo de expansión se realiza, que probablemente dependa de la plataforma. Una vez más, la gente ha estado usando funciones indocumentadas durante mucho tiempo.
  3. En realidad, cafile se ha mencionado varias veces en este número, pero más personas simplemente están enviando spam "oye, deshabilitar SSL funciona para mí" sin pensar en la seguridad porque quieren que su trabajo se haga rápidamente. ¿Quién necesita SSL de todos modos?

Probablemente no pueda arreglar 3, y 2 está en otro alcance, pero tal vez alguien pueda salir y arreglar 1. Si se le ocurre una Solicitud de extracción y quiere un segundo par de ojos, probablemente pueda ayudar (tengo algunos conocimientos sobre criptografía), aunque no puedo aprobarlo ya que no soy mantenedor.

Seguramente le informaré sobre la ayuda que necesita una vez que avance hacia Pull Request para solucionarlo. :)

También veo lo mismo sentado detrás de un grupo de proxy Nexus. La configuración del archivo CA se establece tanto con NPM como con Yarn en este punto, pero sigo recibiendo el error.

➜ yarn config list
yarn config v1.21.1
info yarn config
{
  'version-tag-prefix': 'v',
  'version-git-tag': true,
  'version-commit-hooks': true,
  'version-git-sign': false,
  'version-git-message': 'v%s',
  'init-version': '1.0.0',
  'init-license': 'MIT',
  'save-prefix': '^',
  'bin-links': true,
  'ignore-scripts': false,
  'ignore-optional': false,
  registry: 'https://registry.yarnpkg.com',
  'strict-ssl': true,
  'user-agent': 'yarn/1.21.1 npm/? node/v12.14.1 darwin x64',
  cafile: '/Users/XXXXXXX/pml_root_ca.pem',
  email: 'XXXXXXXXXXXXXXX',
  username: 'XXXXXXX'
}
info npm config
{
  '//registry.npmjs.org/:_authToken': XXXXXXXXXXXXXXXXXXXXX',
  cafile: '/Users/XXXXXXX/pml_root_ca.pem',
  registry: 'https://XXXXXXXXXXXXXXXXX/repository/npmjs/',
  '//nexus.pennmutual.com/repository/pml-npmjs/:_authToken': 'XXXXXXXXXXXXXXXXX',
  python: '/usr/bin/python'
}
✨  Done in 0.04s.

cdir-ui on  feature/build_api is 📦 v0.1.0 via ⬢ v12.14.1 
➜ yarn install
yarn install v1.21.1
[1/5] 🔍  Validating package.json...
[2/5] 🔍  Resolving packages...
[3/5] 🚚  Fetching packages...
error An unexpected error occurred: "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz: unable to get local issuer certificate".
info If you think this is a bug, please open a bug report with the information provided in "/Users/XXXXXXX/Projects/cdir-ui/yarn-error.log
cdir-ui on  feature/build_api is 📦 v0.1.0 via ⬢ v12.14.1 

IIUC, una vez que establezca ca o cafile de cualquier forma, el hilo proporciona una configuración TLS al Nodo, _remplazando_ cualquier confianza que Nodo se estableciera por sí mismo.
En su lugar, para poder usar el almacén de confianza de CA del sistema (# 6578) Y una CA adicional, asegúrese de que yarn config list no muestre ca / cafile configurados, e intente configurar estos env vars :

# Depends how Node was compiled, already default on many Linuxes but can't hurt:
export NODE_OPTIONS=--use-openssl-ca

export NODE_EXTRA_CA_CERTS=/path/to/file.crt
¿Fue útil esta página
0 / 5 - 0 calificaciones