Sample code for 30+ languages & platforms
PowerBuilder

Transition from Email.GetSignedByCertChain to Email.LastSignerCert

Provides instructions for replacing deprecated GetSignedByCertChain method calls with LastSignerCert.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Email
oleobject loo_CertChainObj
oleobject loo_SignerCert
oleobject loo_CertChain

li_Success = 0

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

// ...
// ...

// ------------------------------------------------------------------------
// The GetSignedByCertChain method is deprecated:

loo_CertChainObj = loo_Email.GetSignedByCertChain()
if loo_Email.LastMethodSuccess = 0 then
    Write-Debug loo_Email.LastErrorText
    destroy loo_Email
    return
end if

// ...
// ...

destroy loo_CertChainObj

// ------------------------------------------------------------------------
// Do the equivalent using LastSignerCert to get the signing certificate,
// then build the cert chain from the signing certificate object.

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

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

// Get the certificate chain from the signer certificate.
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_Email
    destroy loo_SignerCert
    destroy loo_CertChain
    return
end if



destroy loo_Email
destroy loo_SignerCert
destroy loo_CertChain