PureBasic
PureBasic
Find Certificate by Email Address
Locate the certificate containing the specified email address in either the RFC822 Name or the Subject.Note: This example requires Chilkat v10.1.2 or later.
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
; This opens the Current User certificate store on Windows,
; On MacOS and iOS it opens the default Keychain.
readOnly.i = 1
success = CkCertStore::ckOpenCurrentUserStore(certStore,readOnly)
If success = 0
Debug CkCertStore::ckLastErrorText(certStore)
CkCertStore::ckDispose(certStore)
ProcedureReturn
EndIf
; Locate the certificate containing the specified email address in either the RFC822 Name or the Subject.
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
email_address.s = "harold@example.com"
CkJsonObject::ckUpdateString(json,"email",email_address)
cert.i = CkCert::ckCreate()
If cert.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkCertStore::ckFindCert(certStore,json,cert)
If success = 1
; Show the full distinguished name of the certificate.
Debug "Found: " + CkCert::ckSubjectDN(cert)
Else
Debug "Not found."
EndIf
CkCertStore::ckDispose(certStore)
CkJsonObject::ckDispose(json)
CkCert::ckDispose(cert)
ProcedureReturn
EndProcedure