Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(C# UWP/WinRT) Create CAdES Signature (.p7s) Compliant with ICP-Brazil Digital Signature StandardDemonstrates how to create a CMS signature w/ policy ID that is compliant with the ICP-Brazil Digital Signature Standard. Note: This example requires Chilkat v9.5.0.79 or greater. For more information, see https://verificador.iti.gov.br/verifier-2.6.2/
// This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // ------------------------------------------------------------------------------------------------------ // Note: This example creates a CMS signature (.p7s) that contains the PDF. // It is different than signing a PDF. To sign a PDF where the resulting PDF contains the CMS signature, // see this example: Sign PDF for ICP-Brasil // ------------------------------------------------------------------------------------------------------ Chilkat.Crypt2 crypt = new Chilkat.Crypt2(); Chilkat.Cert cert = new Chilkat.Cert(); bool success = cert.LoadPfxFile("mySigningCert.pfx","pfxPassword"); if (success != true) { Debug.WriteLine(cert.LastErrorText); return; } crypt.SetSigningCert(cert); crypt.HashAlgorithm = "sha256"; // Create JSON to indicate which signing attributes to include. Chilkat.JsonObject attrs = new Chilkat.JsonObject(); attrs.UpdateBool("contentType",true); attrs.UpdateBool("signingTime",true); attrs.UpdateBool("messageDigest",true); attrs.UpdateString("contentHint.text","Content-Type: application/octet-stream\r\nContent-Disposition: attachment;filename=\"documento.pdf\""); attrs.UpdateString("contentHint.oid","1.2.840.113549.1.7.1"); attrs.UpdateString("policyId.id","2.16.76.1.7.1.1.2.3"); attrs.UpdateString("policyId.hash","sW6Iu/dzIqZ5lbeQeHeO09DqfIhYe29tUYtxXo92o9U="); attrs.UpdateString("policyId.hashAlg","SHA256"); attrs.UpdateString("policyId.uri","http://politicas.icpbrasil.gov.br/PA_AD_RB_v2_3.der"); attrs.UpdateBool("signingCertificateV2",true); crypt.SigningAttributes = attrs.Emit(); // The input file can be any type of file. string inFile = "toBeSigned.pdf"; string outFile = "signed.pdf.p7s"; success = await crypt.CreateP7MAsync(inFile,outFile); if (success == false) { Debug.WriteLine(crypt.LastErrorText); return; } Debug.WriteLine("Success."); |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.