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âmetro | Descriçã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âmetro | Descriçã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âmetro | Descriçã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. |
otp | Valor do OTP que será utilizado para acessar o HSM. |
Observação: * significa que o parâmetro é obrigatório.