Como criar o GlobalSign Timestamp Digest?

1

Estou tentando usar a API do Serviço de assinatura digital de sinais globais para assinar um documento PDF. Eu recebi algumas de suas documentações. Mas não consigo entender o pedido deles para fornecer um "resumo". A documentação sugere que eu faça o resumo com SHA256, HEX, codifique-o e coloque-o em letras maiúsculas. No entanto, não tenho certeza do que eles querem codificado. Tudo o que diz é um "Objeto", mas não o que entra no objeto.

Página de documentação:

link

Eles têm duas referências na API de assinatura:

  • / identity / {id} / sign / {digest}; Assinar um hash: Depois que uma chave privada e um certificado são criados e, embora sejam válidos em uma única sessão de assinatura, eles podem ser usados para executar várias operações de assinatura. O resumo deve ser um resumo de mensagem SHA256 codificado em Hex nos casos superiores. A assinatura retornada também será codificada em Hex.
  • / timestamp / {digest}; Timestamp da solicitação: essa API fornece registro de data e hora compatível com RFC3161 para incluir na assinatura.

Tenho credenciais para trabalhar com a GlobalSign. Consegui usar com êxito a chamada de api "/ login". O próximo passo foi usar a API "/ timestamp / {digest}". O que acontece no resumo?

    
por Austin 21.09.2018 / 01:56

2 respostas

1

Para criar o seu resumo, você precisa hash o pdf que você gostaria de ter assinado. Espera-se que esteja em maiúsculas. Aqui está como eu fiz isso.

$pdf = file_get_contents("chicken.pdf");
$digest = strtoupper(hash('sha256', $pdf));

Além disso, verifique se os cabeçalhos estão corretos. Ele deve conter o token portador recebido da chamada / login assim:

$headers = array('Authorization: Bearer '. $access_token);

Se você deixar informações desnecessárias nos cabeçalhos, obterá um tempo limite de 504.

    
por 27.09.2018 / 19:11
0

Você precisa executar a maior parte do processo de assinatura localmente - a única diferença é que você chama a API em vez de usar um arquivo crt / pem / key local (ou um cartão inteligente).

Se você está tentando criar uma assinatura que seria visível em aplicativos como o Adobe Reader (no painel "Assinaturas"), você precisará fazer isso de acordo com estes documentos:

O primeiro documento (a especificação do PDF) informa exatamente quais intervalos de bytes estão incluídos no resumo, bem como a forma como a assinatura resultante é inserida no documento PDF.

Observe que o PDF requer registros de data e hora para serem emparelhados com uma assinatura digital - você não pode ter apenas o registro de data e hora.

    
por 21.09.2018 / 07:33