Sample code for 30+ languages & platforms
Tcl

Workaround for the deprecated Crypt2.SignBytes method

Shows how to replace the deprecated SignBytes 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]

CkCrypt2_put_HashAlgorithm $crypt "sha256"

set path "c:/someDir/example.dat"

# ------------------------------------------------------------------------
# The SignBytes method is deprecated:

set inData [new_CkByteData]

CkByteData_loadFile $inData $path

set outData [new_CkByteData]

set success [CkCrypt2_SignBytes $crypt $inData $outData]

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

set bdIn [new_CkBinData]

CkBinData_LoadFile $bdIn $path

CkCrypt2_put_EncodingMode $crypt "base64"
set base64_sig [CkCrypt2_signBdENC $crypt $bdIn]

# If you want to access the bytes...
set bdSig [new_CkBinData]

CkBinData_AppendEncoded $bdSig $base64_sig "base64"

delete_CkCrypt2 $crypt
delete_CkCert $cert
delete_CkByteData $inData
delete_CkByteData $outData
delete_CkBinData $bdIn
delete_CkBinData $bdSig