PureBasic
PureBasic
Transition from Crypt2.GetSignerCertChain to Crypt2.LastSignerCert
Provides instructions for replacing deprecated GetSignerCertChain method calls with LastSignerCert.Chilkat PureBasic Downloads
IncludeFile "CkCert.pb"
IncludeFile "CkCertChain.pb"
IncludeFile "CkCrypt2.pb"
Procedure ChilkatExample()
success.i = 0
crypt2.i = CkCrypt2::ckCreate()
If crypt2.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; ...
; ...
index.i = 0
; ------------------------------------------------------------------------
; The GetSignerCertChain method is deprecated:
certchainObj.i = CkCrypt2::ckGetSignerCertChain(crypt2,index)
If CkCrypt2::ckLastMethodSuccess(crypt2) = 0
Debug CkCrypt2::ckLastErrorText(crypt2)
CkCrypt2::ckDispose(crypt2)
ProcedureReturn
EndIf
; ...
; ...
CkCertChain::ckDispose(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.
signerCert.i = CkCert::ckCreate()
If signerCert.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkCrypt2::ckLastSignerCert(crypt2,index,signerCert)
If success = 0
Debug CkCrypt2::ckLastErrorText(crypt2)
CkCrypt2::ckDispose(crypt2)
CkCert::ckDispose(signerCert)
ProcedureReturn
EndIf
certChain.i = CkCertChain::ckCreate()
If certChain.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkCert::ckBuildCertChain(signerCert,certChain)
If success = 0
Debug CkCert::ckLastErrorText(signerCert)
CkCrypt2::ckDispose(crypt2)
CkCert::ckDispose(signerCert)
CkCertChain::ckDispose(certChain)
ProcedureReturn
EndIf
CkCrypt2::ckDispose(crypt2)
CkCert::ckDispose(signerCert)
CkCertChain::ckDispose(certChain)
ProcedureReturn
EndProcedure