Sample code for 30+ languages & platforms
Tcl Requires Chilkat v11.0.0+

Workaround for the deprecated Crypt2.OpaqueSignString method

Shows how to replace the deprecated OpaqueSignString method. (Chilkat is moving away from the use of CkByteData.)

Chilkat Tcl Downloads

Tcl

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 OpaqueSignString method is deprecated:

set outData [new_CkByteData]

set success [CkCrypt2_OpaqueSignString $crypt $textToSign $outData]

#  ------------------------------------------------------------------------
#  Workaround.
#  (Chilkat is moving away from using CkByteData)

CkCrypt2_put_EncodingMode $crypt "base64"
set base64_sig [CkCrypt2_opaqueSignStringENC $crypt $textToSign]

set bd [new_CkBinData]

CkBinData_AppendEncoded $bd $base64_sig "base64"

#  Access the raw bytes from bd.

delete_CkCrypt2 $crypt
delete_CkCert $cert
delete_CkByteData $outData
delete_CkBinData $bd