Painel Principal
Verificar
Ver Manifestação do Destinatário
Infos Arquivo NFe
Repositório central de snippets, homologação e referências fiscais.
Recursos
Leituras, Portais e Documentações
Best Practices & Node
Validadores & Testes
- Validar XML (SEFAZ RS)
- SOAP UI (Validar e testar WSDL)
- Assinaturas XML (xml-crypto)
- Nota: Node c/ OpenSSL 3 requer
--openssl-legacy-provider
Portais & Ecossistema
Segurança & Criptografia
Manipulação de Certificados PFX / PEM
Configuração do OpenSSL no ambiente de desenvolvimento e trechos em Node.js.
Comandos OpenSSL Úteis
# 1. Ler informações do certificado PFX
openssl pkcs12 -info -in mycert.pfx -noout
# 2. Converter/descriptografar PFX legado (OpenSSL 3+)
openssl pkcs12 -in oldPfxFile.pfx -nodes -legacy -out decryptedPfxFile.tmp
openssl pkcs12 -in decryptedPfxFile.tmp -export -out newPfxFile.pfx
# 3. Converter PKCS7 (cadeia CA) para PEM
& 'C:\Program Files\Git\usr\bin\openssl.exe' pkcs7 -inform DER -outform PEM -in .\Certificado_AC_NFE.SEFAZRS.RS.p7b -print_certs > certificate_bundle.cer
Trechos de Código (Node.js / Pem / Forge)
// Configuração de Path OpenSSL & Leitura PFX
const pem = require("pem");
const forge = require("node-forge");
const fs = require("fs");
pem.config({
pathOpenSSL: "C:\\Program Files\\OpenSSL-Win64\\bin\\openssl"
});
const pfx = fs.readFileSync("./cert.pfx");
pem.readPkcs12(pfx, { p12Password: "myPassWordStr" }, (err, cert) => {
console.log(cert);
});
// Exemplo Promise Async Key
const getPrivateKey = async () => {
return new Promise((resolve, reject) => {
pem.readPkcs12(pfx, { p12Password: 'myPassWordStr' }, (err, cert) => {
resolve(cert);
});
});
};