Yarn: erro, não foi possível obter o certificado do emissor local

Criado em 12 out. 2016  ·  42Comentários  ·  Fonte: yarnpkg/yarn

Oi

Você deseja solicitar um _feature_ ou denunciar um _bug_?
Bug

Se o comportamento atual for um bug, forneça as etapas para reproduzir.

λ 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.

Qual é o comportamento esperado?
Eu quero instalar minhas dependências.
Estou perdendo alguma coisa (talvez)?
Obrigado

Mencione seu node.js, yarn e versão do sistema operacional.

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

Comentários muito úteis

Eu tive o mesmo problema nas mesmas circunstâncias, mas executei este comando yarn config set strict-ssl false e funcionou.

Todos 42 comentários

Tenho o mesmo problema porque estamos atrás de um proxy que adiciona SSL autoassinado.

O mesmo problema ocorre quando strict-ssl está habilitado, mas os CAs são especificados manualmente em .npmrc . O Yarn parece ignorar todas as configurações SSL (ou exigiu uma diferente, mas não consegui encontrar na configuração)

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

Tendo o mesmo problema aqui no trabalho!

tendo o mesmo problema (estou usando a autocertificação).

Mesmo problema, definir o registro para uma variante não-ssl ou o registro não-ssl original.npmjs.org não ajuda.

Atrás de um proxy corporativo, portanto, também me deparo com esse problema.

Estou tendo exatamente o mesmo erro por trás de um proxy corporativo :). Mal posso esperar por uma correção :)

Eu tenho o mesmo problema, a rede está atrás de proxy, defina strict-ssl para false e também config registro como não-ssl, ainda não funciona. Melhor consertar o mais rápido possível. Mal posso esperar.

Eu acredito que @TAGraves está trabalhando nisso em # 1025. Eu realmente quero ver ele pousar! 👍

PR # 736 adicionará suporte para cafile, que é outra maneira de resolver esse problema e, ao contrário de desativar o strict-ssl, você não estará vulnerável a ataques MITM.

Combinamos o suporte para cafile e strict-ssl portanto, esse problema deve ser resolvido.

Ainda estou tendo esse problema com o yarn v0.21.3

Atualização: também na versão noturna 0.22.0-20170303.1013

Descobri que se eu duplicasse o strict-ssl e outras configurações de .npmrc para .yarnrc, as coisas começariam a funcionar (ou use yarn config set para adicionar cada parte). Não sei por que ele não foi retirado de .npmrc.

Eu tive o mesmo problema nas mesmas circunstâncias, mas executei este comando yarn config set strict-ssl false e funcionou.

Sim, também funcionou para mim.

@sylvesteraswin fez o mesmo e funcionou, obrigado 👍

tudo quebrado em 0.23.1, definindo registro para http e strict-ssl para false funcionou, mas agora não funciona. Também tenho problemas com a interceptação do certificado e é por isso que preciso de http.

Tentei yarn config set strict-ssl false , mas agora recebo "404 não encontrado". Mac Sierra, Nó 8.1.2, fio 0.27.5.

@JesterXL Funcionou para mim. Usando a mesma versão v0.27.5

yarn config set strict-ssl false funcionou para mim!

npm config set strict-ssl

trabalhou para mim

Apenas certifique-se de que as pessoas não copiem cegamente e cole o código aqui: NÃO DESATIVE AS VERIFICAÇÕES DE SSL ESTRITA.

Certo, agora que tenho sua atenção, se você _sabe_ exatamente o que está fazendo e quais riscos está assumindo com isso, você pode. Caso contrário, simplesmente não faça.

Existe uma solução que não envolva se expor aos perigos do uso de HTTP? Eu realmente gostaria de poder consertar isso sem ter que desativar o SSL estrito.

Bem, seria ótimo usar o STRICT SSL, mas o problema são as empresas que trocam os certificados, elas estão dificultando o uso de http apenas para que possam espionar nosso tráfego e garantir que não estamos fazendo algo ruim. Basicamente, eles confiam mais no público em geral do que em seus funcionários. No entanto, existe uma alternativa, você precisa obter uma cópia do certificado que a empresa está trocando e definir o café para o caminho do certificado. Este não é um processo tão simples como deveria ser, mas funciona e é seguro. Se não está funcionando para você, então você precisa atualizar sua versão do yarn ...

@damiandennis Minha empresa acabou de implementar um novo certificado, então eu o registrei no meu computador e está tudo bem para quase tudo, exceto yarn, por incrível que pareça. Estou em 1.1.0

@ snood1205 Mesma situação. Todo o resto funciona bem, exceto yarn e pip

Acho que isso se deve à forma como a biblioteca request qual dependemos é arquitetada:

strictSSL - se verdadeiro, exige que os certificados SSL sejam válidos. Nota: para usar sua própria autoridade de certificação, você precisa especificar um agente que foi criado com essa CA como uma opção.

Portanto, você deve ser capaz de autorizar explicitamente o certificado da sua empresa, definindo os seguintes valores de configuração em seu .yarnrc :

  • ca
  • café
  • cert
  • chave

@BYK Esta é uma pergunta simples, me perdoe.

Qual é o formato para definir esses valores? ca=~/Code/certs/mycert.crt ?

Além disso, há um grande aviso de isenção de responsabilidade no topo de .yarnrc me dizendo para não modificá-lo. eu tenho sua permissão para alterá-lo mesmo assim? 😀

@ao Aproveite seus downloads não determinísticos!

yarn config set strict-ssl false funcionou para mim. Obrigado @sylvesteraswin

seguinte comando funcionou para mim:
yarn config set strict-ssl false

@vrajpoot Isso é ótimo! Mas, por favor, não poste aqui, pois pode enganar outras pessoas incautas para também desligar a segurança básica e potencialmente baixar malware em seus computadores.

É perfeitamente normal gostar de malware e, de propósito, infectar seu computador com ele ... mas deve permanecer como um tópico de pesquisa ou um hobby, não uma coisa real que alguém faria em sua máquina de trabalho.

@brandonsturgeon trouxe pontos muito válidos que devem ser abordados e os mantenedores do fio devem responder. Ele não é o único que está se perguntando.

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

Interessante, todo mundo dizendo "não desabilite o strict-ssl".
Mas ninguém consegue.

yarn config set strict-ssl false funcionou para mim. Obrigado

Recebi este erro quando tentei instalar o pacote jquery. Após toneladas de pesquisas, finalmente descobrimos que ninguém deveria definir strict-ssl como false nem editar o arquivo .yarnrc . Uma abordagem limpa e ideal para isso é -
$ yarn config set cafile "/physical/path/to/certificate-file.pem" e é isso. Consegui instalar o jquery com sucesso sem desligar o SSL depois de disparar este comando.

Sempre se pode verificar a configuração com o yarn antes e depois do comando acima yarn config list e garantir se a alteração que fizemos acima ocorreu ou não, o que geralmente ocorre. :)

@ sandipt27 Lamento que tenha demorado tanto para encontrar o caminho certo. Você não os encontrou provavelmente porque:

  1. A documentação yarnrc não mencionou esse parâmetro de configuração secreto. A convenção de "recurso não documentado é experimental" não parece valer para o Yarn.
  2. Mesmo a documentação do NPM é muito breve para ser útil. Por exemplo, ele não especificou que tipo de expansão é feita, o que provavelmente depende da plataforma. Novamente, as pessoas têm usado recursos não documentados por muito tempo.
  3. Na verdade, cafile foi mencionado várias vezes nesta edição, mas mais pessoas estão simplesmente enviando spam "ei, desative o SSL funciona para mim", sem pensar na segurança, porque desejam que seu trabalho seja feito rapidamente. Quem precisa de SSL, afinal?

Você provavelmente não pode consertar 3, e 2 está em outro escopo, mas talvez alguém possa vir e consertar 1. Se você vier com um Pull Request e quiser um segundo par de olhos, provavelmente posso ajudar (tenho algumas informações gerais conhecimento sobre criptografia), embora não possa aprová-la por não ser mantenedor.

https://github.com/yarnpkg/yarn/issues/841#issuecomment -559037850
Não funciona para mim.

Eu configurei um repositório privado (Verdaccio) com certificado de emissor local
E fez a mesma configuração com um arquivo de certificado encadeado.
Mas Yarn não conseguiu baixar os pacotes.

Funcionou no NPM sem nenhum problema.

@ sandipt27 Lamento que tenha demorado tanto para encontrar o caminho certo. Você não os encontrou provavelmente porque:

  1. A documentação yarnrc não mencionou esse parâmetro de configuração secreto. A convenção de "recurso não documentado é experimental" não parece valer para o Yarn.
  2. Mesmo a documentação do NPM é muito breve para ser útil. Por exemplo, ele não especificou que tipo de expansão é feita, o que provavelmente depende da plataforma. Novamente, as pessoas têm usado recursos não documentados por muito tempo.
  3. Na verdade, cafile foi mencionado várias vezes nesta edição, mas mais pessoas estão simplesmente enviando spam "ei, desative o SSL funciona para mim", sem pensar na segurança, porque desejam que seu trabalho seja feito rapidamente. Quem precisa de SSL, afinal?

Você provavelmente não pode consertar 3, e 2 está em outro escopo, mas talvez alguém possa vir e consertar 1. Se você vier com um Pull Request e quiser um segundo par de olhos, provavelmente posso ajudar (tenho algumas informações gerais conhecimento sobre criptografia), embora não possa aprová-la por não ser mantenedor.

Com certeza avisarei você sobre a ajuda necessária assim que eu passar para o Pull Request para consertá-lo. :)

Estou vendo a mesma coisa atrás de um grupo de proxy do Nexus. A configuração do arquivo CA está definida com NPM e Yarn neste ponto, mas ainda recebo o erro.

➜ 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, uma vez que você define ca ou cafile de qualquer forma, o yarn fornece uma configuração TLS para o Node, _replacing_ qualquer nó de confiança definiria a si mesmo.
Em vez disso, para poder usar o armazenamento confiável da CA do sistema (# 6578) E uma CA extra, certifique-se de que yarn config list não mostre ca / cafile configurados e tente defini-los 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
Esta página foi útil?
0 / 5 - 0 avaliações