PureBasic
PureBasic
Find a Certificate in the "Other People" Windows Certificate Store
See more Certificates Examples
Demonstrates how to open the "Current User --> Other People" Windows certificate store, and locates a certificate matching an email address.Chilkat PureBasic Downloads
IncludeFile "CkCertStore.pb"
IncludeFile "CkCert.pb"
IncludeFile "CkJsonObject.pb"
Procedure ChilkatExample()
success.i = 0
certStore.i = CkCertStore::ckCreate()
If certStore.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
; The "AddressBook" is the "Other People" certificate store as shown in certmgr.msc
readOnly.i = 1
success = CkCertStore::ckOpenWindowsStore(certStore,"CurrentUser","AddressBook",readOnly)
If success <> 1
Debug CkCertStore::ckLastErrorText(certStore)
CkCertStore::ckDispose(certStore)
ProcedureReturn
EndIf
; Find the certificate for the email address:
jsonE.i = CkJsonObject::ckCreate()
If jsonE.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(jsonE,"email","joe@example.com")
cert.i = CkCert::ckCreate()
If cert.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkCertStore::ckFindCert(certStore,jsonE,cert)
If success = 0
Debug CkCertStore::ckLastErrorText(certStore)
CkCertStore::ckDispose(certStore)
CkJsonObject::ckDispose(jsonE)
CkCert::ckDispose(cert)
ProcedureReturn
EndIf
Debug "Found certificate: " + CkCert::ckSubjectDN(cert)
CkCertStore::ckDispose(certStore)
CkJsonObject::ckDispose(jsonE)
CkCert::ckDispose(cert)
ProcedureReturn
EndProcedure