Sample code for 30+ languages & platforms
PowerBuilder

Iterate over Certificates on Connected Smart Cards and USB Tokens

See more Cert Store Examples

Demonstrates how to iterate over the certificates on connected smart cards and USB tokens.

Note: Requires Chilkat v10.1.2 or later.

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_CertStore
string ls_ArgNotUsed
oleobject loo_Cert
integer li_NumCerts
integer i

li_Success = 0

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

// Detects connected smart cards and USB tokens
// and loads the certificate store object with the certificates found.
// Works on Windows, MacOS, iOS, and Linux.
// Note: If something is not detected, contact info@chilkatsoft.com
// for help or for workarounds.
ls_ArgNotUsed = ""
li_Success = loo_CertStore.OpenSmartcard(ls_ArgNotUsed)
if li_Success = 0 then
    Write-Debug loo_CertStore.LastErrorText
    destroy loo_CertStore
    return
end if

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

li_NumCerts = loo_CertStore.NumCertificates
i = 0

do while i < li_NumCerts
    // Load the cert object with the Nth certificate found in the connected HSMs
    loo_CertStore.GetCert(i,loo_Cert)
    Write-Debug string(i) + ": " + loo_Cert.SubjectCN
    i = i + 1
loop


destroy loo_CertStore
destroy loo_Cert