Tcl
Tcl
Workaround for the deprecated Crypt2.SignString method
Shows how to replace the deprecated SignString method. (Chilkat is moving away from the use of CkByteData.)Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
set crypt [new_CkCrypt2]
set cert [new_CkCert]
# ...
# Load the cert from a source such as a .pfx/.p12 file, smart card, USB token, Apple keychain, Windows certificate store, etc.
#
set success [CkCrypt2_SetSigningCert $crypt $cert]
# Sign the utf-8 byte representation of the text.
CkCrypt2_put_Charset $crypt "utf-8"
set textToSign "This is the text to sign"
# ------------------------------------------------------------------------
# The SignString method is deprecated:
set outData [new_CkByteData]
set success [CkCrypt2_SignString $crypt $textToSign $outData]
# ------------------------------------------------------------------------
# Workaround.
# (Chilkat is moving away from using CkByteData)
CkCrypt2_put_EncodingMode $crypt "base64"
set base64_sig [CkCrypt2_signStringENC $crypt $textToSign]
# If you want the binary bytes of the signature decoded from base64.
set bdSig [new_CkBinData]
CkBinData_AppendEncoded $bdSig $base64_sig "base64"
delete_CkCrypt2 $crypt
delete_CkCert $cert
delete_CkByteData $outData
delete_CkBinData $bdSig