Assinatura
A assinatura no DS Cloud é feita por hash: a sua aplicação calcula o resumo criptográfico do documento e envia esse hash para ser assinado com a chave privada do titular, que permanece protegida em HSM. O documento em si não trafega para o DS Cloud, o que preserva a confidencialidade do conteúdo.
Pré-requisitos
- Um access token válido com o escopo de assinatura adequado (
single_signatureoumulti_signature). - O hash do documento em Base64, calculado com um algoritmo suportado.
- O OID do algoritmo de hash usado.
Algoritmos e OIDs
Algoritmos de hash
SHA-256OID 2.16.840.1.101.3.4.2.1opcionalAlgoritmo de hash recomendado para a maioria dos casos.
SHA-512OID 2.16.840.1.101.3.4.2.3opcionalAlternativa com resumo de maior tamanho.
Formatos de assinatura
O DS Cloud suporta os formatos e padrões usuais da ICP-Brasil:
Formatos e padrões
RAWPKCS#1opcionalAssinatura bruta do hash, sem envelope.
CMSPKCS#7opcionalAssinatura em envelope CMS/PKCS#7.
PAdESPDFopcionalPadrão de assinatura para documentos PDF.
CAdESCMS avançadoopcionalPadrão de assinatura avançada baseada em CMS.
XAdESXMLopcionalPadrão de assinatura para documentos XML.
Requisição de assinatura
Envie o hash em Base64 e o OID do algoritmo, autenticando com o Bearer Token do titular:
Corpo da assinatura (exemplo)
{
"hash": "n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=",
"hash_algorithm_oid": "2.16.840.1.101.3.4.2.1",
"signature_format": "CMS"
}Chamada (exemplo)
curl -X POST https://dscloud.psc.digitalsign.com.br/v0/signature \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6..." \
-H "Content-Type: application/json" \
-d '{
"hash": "n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=",
"hash_algorithm_oid": "2.16.840.1.101.3.4.2.1",
"signature_format": "CMS"
}'Resposta
Assinatura retornada (exemplo)
{
"signature": "MIIF... (assinatura em Base64)",
"signature_format": "CMS"
}Assinatura de múltiplos hashes
Para assinar vários documentos em uma única autorização, use um token com o escopo multi_signature e envie a lista de hashes. Um token de escopo simples nesse fluxo retorna OnlySingleSignatureAllowed.
Confirme o contrato exato
Os nomes de campos e o caminho do endpoint de assinatura podem variar por versão. Confirme o contrato completo na referência técnica oficial do DS Cloud antes de ir para produção.