Assinaturas
O PKI SDK permite a customização e criação de assinaturas de PDF no padrão PAdES (ETSI TS 102 778), assinaturas PKCS#7/CMS no padrão CAdES (ETSI TS 101 733) e assinaturas XmlDSig simples e também conforme padrão XAdES (ETSI TS 101 903).
No exemplo abaixo faremos uma assinatura CAdES básica com o objetivo de apresentar e exercitar os conceitos e propriedades desse assinador:
// Instanciamos o objeto signer que é responsável por criar a assinatura
var signer = new CadesSigner();
// Setamos os principais parâmetros
signer.SetSigningCertificate(signingCert); // certificado do signatário com chave privada associada
signer.SetDataToSign(toSign); // bytes ou stream do documento a ser assinado
signer.SetPolicy(policy); // política de assinatura
signer.ComputeSignature(); // cria atributos e colhe assinatura do signatário
var cadesSig = signer.GetSignature(); // monta o pacote de assinatura e retorna os bytes com encoding DER
No exemplo abaixo faremos uma assinatura PAdES básica com o objetivo de apresentar e exercitar os conceitos e propriedades desse assinador:
// Instanciamos o objeto signer que é responsável por criar a assinatura
var signer = new PadesSigner();
// Setamos os principais parâmetros
signer.SetSigningCertificate(signingCert); // certificado do signatário com chave privada associada
signer.SetPdfToSign(pdfBytes); // bytes do PDF a ser assinado
signer.SetPolicy(policy); // política de assinatura
signer.ComputeSignature(); // cria colhe assinatura do signatário
var signedPdf = signer.GetPdfBytes(); // retorna os bytes do PDF assinado