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

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