Sample code for 30+ languages & platforms
Tcl

Transition from Crypt2.GetSignerCertChain to Crypt2.LastSignerCert

Provides instructions for replacing deprecated GetSignerCertChain method calls with LastSignerCert.

Chilkat Tcl Downloads

Tcl

load ./chilkat.dll

set success 0

set crypt2 [new_CkCrypt2]

# ...
# ...
set index 0

# ------------------------------------------------------------------------
# The GetSignerCertChain method is deprecated:

# certchainObj is a CkCertChain
set certchainObj [CkCrypt2_GetSignerCertChain $crypt2 $index]
if {[CkCrypt2_get_LastMethodSuccess $crypt2] == 0} then {
    puts [CkCrypt2_lastErrorText $crypt2]
    delete_CkCrypt2 $crypt2
    exit
}

# ...
# ...

delete_CkCertChain $certchainObj

# ------------------------------------------------------------------------
# Do the equivalent using LastSignerCert, and then get the certificate chain from the cert.
# Your application creates a new, empty Cert object which is passed 
# in the last argument and filled upon success.

set signerCert [new_CkCert]

set success [CkCrypt2_LastSignerCert $crypt2 $index $signerCert]
if {$success == 0} then {
    puts [CkCrypt2_lastErrorText $crypt2]
    delete_CkCrypt2 $crypt2
    delete_CkCert $signerCert
    exit
}

set certChain [new_CkCertChain]

set success [CkCert_BuildCertChain $signerCert $certChain]
if {$success == 0} then {
    puts [CkCert_lastErrorText $signerCert]
    delete_CkCrypt2 $crypt2
    delete_CkCert $signerCert
    delete_CkCertChain $certChain
    exit
}


delete_CkCrypt2 $crypt2
delete_CkCert $signerCert
delete_CkCertChain $certChain