Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Tcl) RSA Sign utf-8 Bytes of String to get Base64 RSA SignatureSee more Apple Keychain ExamplesDemonstrates how RSA sign the utf-8 byte representation of a string to get the signature in base64 format.
load ./chilkat.dll # Assuming the smartcard/USB token is installed with the correct drivers from the manufacturer, # this code can work on multiple platforms including Windows, MacOS, Linux, and iOS. # Chilkat automatically detects and determines the way in which the HSM is used, # which can be by PKCS11, Apple Keychain, Microsoft CNG / Crypto API, or ScMinidriver. set cert [new_CkCert] # Set the token/smartcard PIN prior to loading. CkCert_put_SmartCardPin $cert "123456" # Specify the certificate by its common name. set success [CkCert_LoadFromSmartcard $cert "cn=chilkat-rsa-2048"] if {$success == 0} then { puts [CkCert_lastErrorText $cert] delete_CkCert $cert exit } puts "Signing with cert: [CkCert_subjectCN $cert]" # Create a string to be hashed and signed. set sb [new_CkStringBuilder] set crlfLineEnding 1 for {set i 0} {$i <= 10} {incr i} { CkStringBuilder_AppendLine $sb "This is a test." $crlfLineEnding } set rsa [new_CkRsa] # Use the certificate's private key for signing. set success [CkRsa_SetX509Cert $rsa $cert 1] if {$success == 0} then { puts [CkRsa_lastErrorText $rsa] delete_CkCert $cert delete_CkStringBuilder $sb delete_CkRsa $rsa exit } # Sign the SHA-256 hash of the utf-8 byte representation of the contents of sb # Return the signature in base64 format. CkRsa_put_EncodingMode $rsa "base64" CkRsa_put_Charset $rsa "utf-8" set stringToSign [CkStringBuilder_getAsString $sb] set sigBase64 [CkRsa_signStringENC $rsa $stringToSign "sha256"] if {[CkRsa_get_LastMethodSuccess $rsa] == 0} then { puts [CkRsa_lastErrorText $rsa] delete_CkCert $cert delete_CkStringBuilder $sb delete_CkRsa $rsa exit } puts "RSA signature as base64: $sigBase64" delete_CkCert $cert delete_CkStringBuilder $sb delete_CkRsa $rsa |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.