Show / Hide Table of Contents
Editar no GitHub

Co-assinatura

O PKI SDK permite que diferentes signatários que assinam um mesmo documento possam ser agrupados em um mesmo pacote de assinatura. Esta modalidade de assinaturas em paralelo se chama co-assinatura e é prevista pelo padrão CAdES.

O exemplo abaixo demostra uma co-assinatura básica:

// Assinatura CAdES básica prévea
byte[] cadesSig1 = ...

// Co-assinando a assinatura cadesSig1
PKCertificateWithKey signingCert2 = ...
var signer2 = new CadesSigner();        
signer2.SetSigningCertificate(signingCert2);
signer2.SetDataToSign(toSign);
signer2.SetPolicy(policy); 

// Definindo a assinatura prévea para co-assinatura
signer2.SetSignatureToCoSign(cadesSig1); 

signer2.ComputeSignature();

byte[] cadesCoSig = signer2.GetSignature();
Note

Caso a assinatura cadesSig1 já tenha o documento assinado no encapsulated-content, não é necessária a chamada do método SetDataToSign(Byte[]) na co-assinatura.

Caso se tenha assinaturas paralelas de um mesmo documento, sem que se tenha utilizado o método SetSignatureToCoSign(Byte[]), também é possivel fundir as assinaturas em uma co-assinatura através do método MergeSignatures(IEnumerable<CadesSignature>) da classe CadesSignatureEditor.

Veja também

  • CadesSigner
  • CadesSignatureEditor
Back to top Copyright © 2015-2026 Lacuna Software