Assinatura com certificado na nuvem

A API de Assinatura Digital com certificado em nuvem realiza a integração do serviço de assinatura com serviços de armazenamento de certificado em nuvem, permitindo a geração de assinaturas utilizando uma única etapa:

Configuração da assinatura: definição do perfil, características da assinatura, e dados do documento que será assinado. Essa etapa é similar a etapa de inicialização quando a assinatura é realizada acessando o certificado localmente.

No Header da requisição (PDF, CMS e XML) é necessário incluir as seguintes propriedades:

Authorization: Bearer "access_token"
kms_type: "tipo"

O valor "access_token" representa o conteúdo do token de acesso ao serviço.
Para uso pessoal, o token deverá ser vinculado à conta pessoal.
Para uso corporativo, o token deverá ser vinculado à conta da empresa.

O valor de "tipo" representa a forma de armazenamento do certificado em nuvem e aceita os valores BRYKMS, GOVBR ou DINAMO.


Assinatura com certificado no BRy KMS

O serviço de assinatura integrado com o BRyKMS realiza a assinatura com um único passo utilizando o certificado armazenado na nuvem, conforme mostra a figura abaixo:

Os padrões suportados para esse tipo de assinatura são:

  • PDF/PAdES;
  • CMS/CAdES;
  • XML/XAdES;

Os atributos de autenticação/identificação ‘kms_data’ para assinaturas com certificado no BRy KMS estão definidos abaixo:


ParâmetroDescrição
uuid_cert*Identificador único do certificado armazenado no BRy KMS. O UUID pode ser obtido via API Certificado em Nuvem ou na tela de gerenciamento do certificado. Precisa ser ajustado sempre que o titular emitir ou importar um novo certificado na nuvem.
user *CPF do titular do certificado no BRy KMS. Pode ser utilizado para filtrar o certificado no compartimento vinculado uma conta Pessoa Jurídica. Caso seja uma conta de Pessoa Física, irá filtrar pelo certificado mais atual.
*O uso de * indica que uuid_cert ou user precisam ser informados. Em caso de ambos, o sistema usará como preferência o user.
pin *Senha definida pelo titular do certificado armazenado no BRyKMS para autorizar o acesso à chave a cada requisição. Valor deve estar codificado em Base64.
token *Token de pré-autorização de acesso à chave no BRyKMS. Este token deve ser gerado em um passo anterior através da API Certificado em Nuvem e permite o acesso à chave durante um determinado tempo ou quantidade de vezes. Valor deve estar codificado em formato Hexadecimal.
*O uso de * indica que pin ou token precisam ser informados.

Assinatura com certificado no GOV-BR

O serviço de assinatura integrado com a API de Assinatura Digital Avançada do ITI realiza a assinatura digital conforme os passos descritos na figura abaixo:

Os padrões suportados para este tipo de assinatura são:

  • PDF;
  • CMS;

Os perfis de assinatura aceitos são:

  • Basica;
  • Carimbo;
  • Completa;

O Algoritmo de Hash suportado para este tipo de assinaturas é SHA256;

Não há suporte para:

  • Comentários e Nomes de Documentos para assinaturas padrão CMS;
  • Razão, Contato e Local para assinaturas padrão PDF;

Os atributos de autenticação/identificação ‘kms_data’ para assinaturas com certificado GOV.BR estão definidos abaixo:

ParâmetroDescrição
token*Token de acesso a API de Assinatura Digital Avançada

A geração do token de acesso a API de Assinatura Digital Avançadaé de responsabilidade da aplicação que está realizando integração, e sua disponibilidade deve ser verificada junto ao ITI. Esta geração segue o protocolo OAuth 2.0, e os passos para sua obtenção podem ser observados na figura abaixo:


Assinatura com certificado em HSM Dinamo

O serviço de assinatura integrado com HSM Dinamo realiza a assinatura com um único passo, realizando a comunicação com HSM configurado conforme mostra figura abaixo:

Os padrões suportados para esse tipo de assinatura são:

  • PDF/PAdES;
  • CMS/CAdES;
  • XML/XAdES;

Os atributos de autenticação/identificação ‘kms_data’ para assinaturas com certificado em HSM Dinamo estão definidos abaixo:

ParâmetroDescrição
uuid_cert *Identificador do certificado que será utilizado para assinatura.
uuid_pkey *Identificador da chave privada que será utilizada para assinatura.
user *Usuário que irá acessar o HSM.
pin *Senha de acesso do usuário às chaves armazenadas em HSM. Valor deve estar codificado em Base64.
token *Token de acesso às chaves armazenadas em HSM. Valor deve estar codificado em Base64.
*O uso de * indica que user+pin ou token precisam ser informados.
otpValor do OTP que será utilizado para acessar o HSM.

Observação: * significa que o parâmetro é obrigatório.