Sample code for 30+ languages & platforms
PowerBuilder

Load Certificate (.cer) and Private Key (.pvk) generated from makecert

See more Certificates Examples

Demonstrates how to load a certificate (.cer) and private key (.pvk) from the files produced by makecert, such as in the following command:
makecert -sv mycertificate.pvk -n "CN=My Simple Certificate" mycertificate.cer -sky Exchange

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Cert
oleobject loo_PrivKey
oleobject loo_Pdf

li_Success = 0

// First load the .cer file.
// The certificate file (.cer) contains only the certificate (does not include the private key)
loo_Cert = create oleobject
li_rc = loo_Cert.ConnectToNewObject("Chilkat.Cert")
if li_rc < 0 then
    destroy loo_Cert
    MessageBox("Error","Connecting to COM object failed")
    return
end if
li_Success = loo_Cert.LoadFromFile("qa_data/certs_and_keys/makecert/mycertificate.cer")
if li_Success = 0 then
    Write-Debug loo_Cert.LastErrorText
    destroy loo_Cert
    return
end if

// Next, load the .pvk file.
// Note: The password "secret" is what you entered when makecert displayed the dialog asking for a password..
loo_PrivKey = create oleobject
li_rc = loo_PrivKey.ConnectToNewObject("Chilkat.PrivateKey")

li_Success = loo_PrivKey.LoadPvkFile("qa_data/certs_and_keys/makecert/mycertificate.pvk","secret")
if li_Success = 0 then
    Write-Debug loo_PrivKey.LastErrorText
    destroy loo_Cert
    destroy loo_PrivKey
    return
end if

// Finally, associate the private key with the certificate.
li_Success = loo_Cert.SetPrivateKey(loo_PrivKey)
if li_Success = 0 then
    Write-Debug loo_Cert.LastErrorText
    destroy loo_Cert
    destroy loo_PrivKey
    return
end if

// At this point, the certificate can be used for signing.  For example..
loo_Pdf = create oleobject
li_rc = loo_Pdf.ConnectToNewObject("Chilkat.Pdf")

// ....
// ....

li_Success = loo_Pdf.SetSigningCert(loo_Cert)

// ...
// ....

// Some Chilkat classes also provide a method where the cert and private key can be passed separately.
// For example, if SetSigningCert2 is called, then we don't need to explicitly associate the private key with the cert.
li_Success = loo_Pdf.SetSigningCert2(loo_Cert,loo_PrivKey)

// ...
// ....


destroy loo_Cert
destroy loo_PrivKey
destroy loo_Pdf