Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) PKCS7 Sign Text using RSA 2048, SHA256, Base64 OutputDemonstrates how to sign text using 2048-bit RSA with SHA256, producing PKCS#7 output in Base64. The certificate w/ private key used for signing is loaded from a .p12/.pfx file.
IncludeFile "CkCrypt2.pb" IncludeFile "CkCert.pb" Procedure ChilkatExample() ; This example requires the Chilkat API to have been previously unlocked. ; See Global Unlock Sample for sample code. cert.i = CkCert::ckCreate() If cert.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Load the cert and private key. Whatever the private key happens to be, ; such as RSA or ECC, then Chilkat will use it. If the private key is ; a 2048-bit RSA key, then that's what will be used.. success.i = CkCert::ckLoadPfxFile(cert,"qa_data/pfx/myCertAndKey.p12","password") If success <> 1 Debug CkCert::ckLastErrorText(cert) CkCert::ckDispose(cert) ProcedureReturn EndIf crypt.i = CkCrypt2::ckCreate() If crypt.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkCrypt2::ckSetSigningCert(crypt,cert) If success <> 1 Debug CkCrypt2::ckLastErrorText(crypt) CkCert::ckDispose(cert) CkCrypt2::ckDispose(crypt) ProcedureReturn EndIf ; Use SHA-256 CkCrypt2::setCkHashAlgorithm(crypt, "sha256") ; Hash the utf-8 byte representation of the string CkCrypt2::setCkCharset(crypt, "utf-8") ; Return the result in base64 CkCrypt2::setCkEncodingMode(crypt, "base64") ; Sign some text.. textToSign.s = "This is the text to be hashed and signed." sigBase64.s = CkCrypt2::ckOpaqueSignStringENC(crypt,textToSign) If CkCrypt2::ckLastMethodSuccess(crypt) <> 1 Debug CkCrypt2::ckLastErrorText(crypt) CkCert::ckDispose(cert) CkCrypt2::ckDispose(crypt) ProcedureReturn EndIf Debug sigBase64 ; The result: ; MIIS2wYJKoZIhvcNAQc ... zGeeY4Oxg== CkCert::ckDispose(cert) CkCrypt2::ckDispose(crypt) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.