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
(DataFlex) RSA Sign using Private Key of Certificate Type A3 (smart card / token)Demonstrates RSA signing data using the private key of a certificate type A3 (smart card, token). Note: This is a Windows-only example.
Use ChilkatAx-9.5.0-win32.pkg Procedure Test Handle hoCertStore String sThumbprint Boolean iBReadOnly Boolean iSuccess Variant vCert Handle hoCert Handle hoRsa Boolean iBUsePrivateKey Handle hoFac Variant hoInData Variant hoSignature String sTemp1 Boolean bTemp1 // First get the A3 certificate that was installed on the Windows system. Get Create (RefClass(cComChilkatCertStore)) To hoCertStore If (Not(IsComObjectCreated(hoCertStore))) Begin Send CreateComObject of hoCertStore End Move "12c1dd8015f3f03f7b1fa619dc24e2493ca8b4b2" To sThumbprint // This is specific to Windows because it is opening the Windows Current-User certificate store. Move True To iBReadOnly Get ComOpenCurrentUserStore Of hoCertStore iBReadOnly To iSuccess If (iSuccess <> True) Begin Get ComLastErrorText Of hoCertStore To sTemp1 Showln sTemp1 Procedure_Return End // Find the certificate with the desired thumbprint // (There are many ways to locate a certificate. This example chooses to find by thumbprint.) Get ComFindCertBySha1Thumbprint Of hoCertStore sThumbprint To vCert If (IsComObject(vCert)) Begin Get Create (RefClass(cComChilkatCert)) To hoCert Set pvComObject Of hoCert To vCert End Get ComLastMethodSuccess Of hoCertStore To bTemp1 If (bTemp1 <> True) Begin Showln "Failed to find the certificate." Procedure_Return End Get ComSubjectCN Of hoCert To sTemp1 Showln "Found: " sTemp1 Get Create (RefClass(cComChilkatRsa)) To hoRsa If (Not(IsComObjectCreated(hoRsa))) Begin Send CreateComObject of hoRsa End // Provide the cert's private key Move True To iBUsePrivateKey Get ComSetX509Cert Of hoRsa vCert iBUsePrivateKey To iSuccess Send Destroy of hoCert If (iSuccess <> True) Begin Get ComLastErrorText Of hoRsa To sTemp1 Showln sTemp1 Procedure_Return End // Now we're ready to sign.. Get Create (RefClass(cComCkFileAccess)) To hoFac If (Not(IsComObjectCreated(hoFac))) Begin Send CreateComObject of hoFac End // Get bytes to be signed.. Get ComReadEntireFile Of hoFac "in.dat" To hoInData Get ComSignBytes Of hoRsa vInData "SHA-256" To hoSignature Get ComLastMethodSuccess Of hoRsa To bTemp1 If (bTemp1 <> True) Begin Get ComLastErrorText Of hoRsa To sTemp1 Showln sTemp1 Procedure_Return End Showln "Signature created." End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.