Enviar certificado

bom dia / sobre associar o certificado / estou com o mesmo no formato pfx achei que era para indicar a pasta onde se encontra o certificado mais a senha / porem no manual diz

Cadastrar certificado

Cadastre ou atualize um certificado digital e vincule a sua empresa, para que possa iniciar a emissão de notas.

  • No parâmetro certificado, envie o binário do certificado digital (.pfx ou .p12) codificado em base64.
    Como e que extrai/converte essa informacao do certificado pfx ?

consegui pelo ubuntu prompt
openssl pkcs12 -in arquivo.pfx -out arquivo.cer -nodes
seguido da senha
No arquivo cer gerado tem 2 chaves
PRIVATE KEY e
CERTIFICATE
e uma dessas ne ?

que vai para o ‘parâmetro certificado

Acabei chegando a conclusao que o formato binario e o proprio arquivo pfx e que deve ser direcionado a pasta / porem
ao usar
curl -X “PUT” "https://api.sandbox.nuvemfiscal.com.br/empresas/31821052000152/certificado -H “accept: application/json” -H “Content-Type: application/json” -H “Authorization: Bearer minhachave” -d ‘{“certificado”: “/usr/share/apache2/icons/imagens/trab1/nuvemfiscal/arquivo.pfx”,“password”: “1111” }’
{
“error”: {
“code”: “InvalidCertificateOrPassword”,
“message”: “The certificate or password is invalid.”
}
nao ta indo

Não é o arquivo .cer que você precisa, é o arquivo .pfx, conforme informado na documentação. E a senha é aquela necessária para usar o arquivo .pfx, que foi definida quando esse arquivo foi gerado.

Se o seu certificado está instalado na sua máquina, o sistema operacional tem opções para você exportar o certificado para .pfx e definir uma senha. Por exemplo, aqui estão os passos para fazer isso no Windows:

  1. Abra a busca do Windows (por exemplo, usando a tecla “Windows”) e comece a digitar “certif”, logo irá aparecer a opção de “Gerenciar Certificados do Usuário”:

  1. Abra o gerenciador e selecione a pasta “Personal”, depois “Certificates”.

image

  1. A lista de certificados irá aparecer na parte direita da janela. Selecione o certificado desejado, clique com o botão direto e escolha o menu “Todas as tarefas” e depois “Exportar”:

  1. No assistente que irá abrir, clique em “Avançar”, e selecione a opção para exportar a chave privada:

  1. Clique em “Avançar”, na tela de exportação, selecione “Troca de informações pessoas” e também selecione a opção “Incluir todos os certificados no caminho de certificação”:

image

  1. Clique em “Avançar”, na tela seguinte selecione a opção de definir senha. Escolhe a senha que preferir e informe duas vezes para garantir que está correta:

image

  1. Clique em “Avançar” e escolhe o nome de arquivo e pasta onde o arquivo .pfx será gerado:

  1. Clique em “Avançar”, e estará concluído. O arquivo .pfx será gerado, protegido pela senha que você definiu. É esse arquivo (no formato Base64) e essa senha que você deve informar para a Nuvem Fiscal.

O campo certificado deve conter o conteúdo do arquivo (não o nome dele) codificado em Base64. Isso você deve fazer usando sua linguagem de programação que preferir.

Existem ferramentas online que convertem esse valor pra você, por exemplo:

Use essa ferramenta apenas para teste, não é uma boa prática de segurança enviar seus certificados para sites na Internet.

Você pode usar uma linha de comando do Windows Powershell também:

[convert]::ToBase64String((Get-Content -path "C:\temp\meucertificado.pfx" -Encoding byte)) > certificado_em_base64.txt

Entendi / abre o arquivo em formato binario e sse conteudo que vai para o parametro certificado / fazendo aqui

e que vi em um exemplo do suporte alguem fazendo
var pedidoCadastro = new EmpresaPedidoCadastroCertificado
{
certificado = File.ReadAllBytes(“/Users/User/Certificado.pfx”),
password = “123”
};
mas agora entendi ele esta abrindo o arquivo em formato binario e ai vai passar o conteudo para o parmetro certificado / eu achei que era o pasta+arquivo / mas blz to fazendo aqui

bom dia /
Apos extrair o pelo powershell
[convert]::ToBase64String((Get-Content -path “C:\temp\meucertificado.pfx” -Encoding byte)) > certificado_em_base64.txt
arquivo binario no formato Base64String
executei
e foi ! associou o certificado
curl -X “PUT” “https://api.sandbox.nuvemfiscal.com.br/empresas/seucnpjemissor/certificado” -H “accept: application/json” -H “Content-Type: application/json” -H “Authorization: Bearer minhakey” -d ‘{“certificado”: “colaobinarioToBase64Stringretornadopowershell”,“password”: “senha” }’
valeu

Apos

1 curtida

Este tópico foi fechado automaticamente 24 horas depois da última resposta. Novas respostas não são mais permitidas.