Sample code for 30+ languages & platforms
PowerBuilder

Transition from Crypt2.GetSignerCertChain to Crypt2.LastSignerCert

Provides instructions for replacing deprecated GetSignerCertChain method calls with LastSignerCert.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Crypt2
integer li_Index
oleobject loo_CertchainObj
oleobject loo_SignerCert
oleobject loo_CertChain

li_Success = 0

loo_Crypt2 = create oleobject
li_rc = loo_Crypt2.ConnectToNewObject("Chilkat.Crypt2")
if li_rc < 0 then
    destroy loo_Crypt2
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// ...
// ...
li_Index = 0

// ------------------------------------------------------------------------
// The GetSignerCertChain method is deprecated:

loo_CertchainObj = loo_Crypt2.GetSignerCertChain(li_Index)
if loo_Crypt2.LastMethodSuccess = 0 then
    Write-Debug loo_Crypt2.LastErrorText
    destroy loo_Crypt2
    return
end if

// ...
// ...

destroy loo_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.

loo_SignerCert = create oleobject
li_rc = loo_SignerCert.ConnectToNewObject("Chilkat.Cert")

li_Success = loo_Crypt2.LastSignerCert(li_Index,loo_SignerCert)
if li_Success = 0 then
    Write-Debug loo_Crypt2.LastErrorText
    destroy loo_Crypt2
    destroy loo_SignerCert
    return
end if

loo_CertChain = create oleobject
li_rc = loo_CertChain.ConnectToNewObject("Chilkat.CertChain")

li_Success = loo_SignerCert.BuildCertChain(loo_CertChain)
if li_Success = 0 then
    Write-Debug loo_SignerCert.LastErrorText
    destroy loo_Crypt2
    destroy loo_SignerCert
    destroy loo_CertChain
    return
end if



destroy loo_Crypt2
destroy loo_SignerCert
destroy loo_CertChain