Skip to content
This repository has been archived by the owner on Apr 23, 2024. It is now read-only.

Erro ao acessar ws sefaz #44

Open
juniorschroder opened this issue May 12, 2021 · 11 comments
Open

Erro ao acessar ws sefaz #44

juniorschroder opened this issue May 12, 2021 · 11 comments

Comments

@juniorschroder
Copy link

alguem tem alguma ideia?

Error: unable to get local issuer certificate
at TLSSocket.onConnectSecure (_tls_wrap.js:1497:34)
at TLSSocket.emit (events.js:315:20)
at TLSSocket._finishInit (_tls_wrap.js:932:8)
at TLSWrap.ssl.onhandshakedone (_tls_wrap.js:706:12) {
code: 'UNABLE_TO_GET_ISSUER_CERT_LOCALLY'
}

Estou usando certificado pfx... ja tentei tmb exportar pra pem e key ... mesmo erro.
cadeia de certificados raiz instalada na maquina.

node v14.16.1, macOS

teste realizado:

let cert = {
key: null,
pem: null,
pfx: fs.readFileSync('/Users/juniorschroder/Downloads/xxxx.pfx'),
password: 'xxxx'
};

let dadosEmpresa: Empresa = {
razaoSocial: 'TESTE',
nomeFantasia: 'TEST',
cnpj: '',
CNAE: '',
inscricaoEstadual: '',
inscricaoMunicipal: '',
inscricaoEstadualST: '',
codRegimeTributario: '3',
endereco: {
logradouro: 'Rua Teste',
numero: '123',
complemento: '',
bairro: 'Bairro Teste',
municipio: 'Cachoeirinha',
codMunicipio: '4303004',
uf: 'RS',
cUf: '43',
cep: '99999999',
telefone: '999999999',
codPais: '1058',
pais: 'BRASIL'
},
certificado: cert,
idCSC: '1',
CSC: ''
};

const status = new StatusServicoProcessor(dadosEmpresa, "2", "55");

const retorno = await status.consultarStatusServico(status.gerarXmlStatusServico("1.07", "2", "43"), cert);

@lealhugui
Copy link
Owner

nas opçoes do certificado, tente passar rejectUnauthorized como false:

rejectUnauthorized: false

@HTTE0R
Copy link

HTTE0R commented May 21, 2021

Estou com o mesmo erro, tentei colocar o rejectUnauthorized como false mas continua igual.

@juniorschroder
Copy link
Author

Tava analisando o codigo aqui... essa opção não existe na interface de certificado... porem tem um PR que ainda não foi "mergeada" na master do repo que adiciona essa funcionalidade: #43

@luanalmeidabs2
Copy link

Estou com o mesmo problema, tentei desabilitar a verificação de ssl no Mac ( para testar ) mas continuei com o mesmo erro, no Postman Canary tentei fazer a chamada e deu certo, mas com apontamentos de ssl:

image

image

Se eu deixar ativo a verificação de certificado:
image

Recebo o mesmo erro que aparece no retorno da lib:
image

@luanfvieira
Copy link

Alguém conseguiu resolver?

@lealhugui
Copy link
Owner

Pessoal, ainda com problema?

@luanfvieira
Copy link

Ainda persiste. Testado na Sefaz GO.

@GabrielMachado11
Copy link

alguem conseguiu solucinar esse problema?

@GabrielMachado11
Copy link

resolvi esse problema substituindo a biblioteca usada para fazer a requisição, optei por utilizar o axios. Nele passei a opção rejectedUnauthorized como false e resolveu meu problema

Ficou algo como:

const response = await axios.post(params.url, body, {
        headers: {
          'Content-Type': 'text/xml;charset=utf-8',
          SOAPAction: params.action,
        },
        httpsAgent: new https.Agent({
          pfx: fs.readFileSync(filePathCertificate),
          passphrase: certificatePassphrase,
          rejectUnauthorized: false,
        }),
      })

@lealhugui
Copy link
Owner

@GabrielMachado11 consegue fazer uma PR para a substituição do request pelo axios?

@lealhugui
Copy link
Owner

See #49

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants