Emitir Certificado

emitir-certificado

POST <base_url>/webservice/emitir-certificado

Inicia a emissão do Certificado Digital.

Path Parameters

Name
Type
Description

Accept

string

application/json

Cookies

Name
Type
Description

PHPSESSID*

String

Retornado na abertura de sessão

Request Body

Name
Type
Description

solicitacao*

string

Número do usuário

mensagem*

string

mensagem JSON para o Servidor

nonce1*

string

Nonce calculado pelo Cliente

hmac*

string

Hmac calculado pelo Cliente

circle-exclamation
circle-info

Este serviço requer autenticação hmac com sessãoarrow-up-right.

O conteúdo do parâmetro mensagem deverá estar no formato JSON com os seguintes itens:

  1. tipo : Deverá ser enviado o formato desejado PEM (somente certificado) ou P7B/PKCS7 (cadeia completa).

  2. token : Caso o certificado seja do tipo A3 ou A4 deverá ser enviado o nome do token ou HSMarrow-up-right em que está sendo emitido o certificado.

  3. computador : Nome do computador que está fazendo a requisição.

  4. sistema_operacional : Dados do sistema operacional do computador que está fazendo a requisição.

  5. versao : Detalhes da aplicação de emissão (versão e informações).

  6. interfaces : Lista de interfaces (array)

    1. nome

    2. ip

    3. mac

  7. app : Parâmetro obrigatório somente para certificados do tipo A3 e A4. *Caso a key fique em hardcoded poderá ser armazenada somente o hash sha256 da key no código fonte da aplicação de emissão.

    1. appid : Identificador da aplicação (Fornecido pela AC SOLUTI).

    2. token : Token para autenticação e autorização da aplicação de emissão do token. Exemplo: token = sha256(appid || sha256(key) || sha256(csr) || nonce)

    3. nonce : O número nonce deve ser composto por uma parte pseudoaleatória com 4 (quatro) números concatenada com o timestamp (Unix Timestamparrow-up-right sem microssegundos).

  8. csr : Certificate signing request (formato PKCS#10).

  9. digitalterm_signature : Parâmetro obrigatório somente para solicitações do tipo Termo Digital (Resolução N°136 ITIarrow-up-right). O hash recebido na chave digitalterm_hash no serviço Validar dados da emissãoarrow-up-right deve ser assinado no padrão PKCS#1 v1.5. PEM.

  10. url_emissor : URL do emissor que está realizando a emissão do certificado. Parâmetro obrigatório somente para solicitações onde o Produto está com a emissão restrita ativa. Exemplo: meu-emissor.com.br

triangle-exclamation

Código de exemplo

Primeiramente vamos iniciar a sessão:

circle-info

Guarde o cookies recebido, você irá envia-lo em todas as requisições após a abertura de sessão (nas requisições que precisa de hmac com sessão).

Resposta esperada

circle-info

Guarde o nonce1 enviado e ononce2 recebido, você irá utiliza-los em todas as requisições após a abertura de sessão (nas requisições que precisa de hmac com sessão).

Agora iremos gerar o par de chaves, gerar CSR, assinar o conteúdo da chave digitalterm_hash e enviar para o Sistema de AR:

circle-info

Guarde o valor da variável $chavePrivada, ele será necessário para montar o arquivo pfxarrow-up-right após a recuperação do certificadoarrow-up-right.

Esse conteúdo deve ser guardado criptografado, com elevado grau de segurança. Qualquer vazamento ou utilização indevida, o certificado deverá ser revogado.

Resposta esperada

Aguarde 30 segundos realize uma nova requisição ao serviço valida-dados-emissaoarrow-up-right. Quando o mesmo retornar o valor 2 na chave status, iremos consumir o serviço para recuperar o certificadoarrow-up-right.

Recuperar Certificadochevron-right

Last updated

Was this helpful?