Pular para o conteúdo principal

Emitir um arquivo PKCS #12

Quando o seu sistema não tem uma chave própria para enviar, o Amplia pode gerar o par de chaves, emitir o certificado e devolver os dois em um arquivo PKCS #12 (.pfx) protegido por senha. Essa API existe desde o Amplia 4.1.0.

Fluxo​

  1. Crie o pedido.
  2. Chame POST /api/certificates/pkcs12 com o id do pedido, a senha do arquivo e o tamanho da chave.
  3. Guarde o arquivo a partir do pfxContent da resposta (em Base64); o model da resposta descreve o certificado emitido.

O único sample é em Node.js. Ele pede uma chave de 2048 bits, com a senha que o usuário digitou:

let order = await client.createOrder(request);
let cert = await client.issuePkcs12Certificate(order.getId(), req.body.senha, 2048);
let certId = cert.getModel().id;
StorageMock.storeSync(cert.getPfxContent(), certId, '.pfx');
CampoSignificado
orderIdId do pedido a atender.
passwordSenha que protege o arquivo PKCS #12.
keySizeTamanho do par de chaves, em bits; o sample usa 2048.
  • Só o cliente Node.js tem essa chamada. O getPfxContent() dele devolve o pfxContent como a API o envia, em Base64, e getModel() devolve o JSON do certificado sem alterações.
  • TODO(docs): que tamanhos de chave são aceitos e se o Amplia guarda uma cópia da chave privada depois de devolver o arquivo.
  • A chave privada chega ao seu servidor dentro do arquivo: proteja o arquivo e a senha como protegeria a própria chave.

Chave e certificado em outros formatos​

Desde o Amplia 4.7.0, POST /api/certificates/software recebe a mesma requisição e devolve a chave e o certificado em vários formatos: pkcs12Der, certificateDer e certificatePem, publicKeyDer e publicKeyPem, privateKeyPkcs8Der e privateKeyPkcs8Pem, privateKeyPkcs1Der e privateKeyPkcs1Pem, além do model do certificado. O issueSoftwareCertificate(orderId, password, keySize) do cliente Node.js chama esse endpoint, com uma chave de 2048 bits por padrão.

Veja também​

Ver em Markdown