PureBasic
PureBasic
Find Certificate by Serial Number
See more Cert Store Examples
Demonstrates how to find a certificate having the specified hexadecimal serial number.Note: 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 example will search the certs on connected USB tokens and smartcards.
argNotUsed.s = ""
success = CkCertStore::ckOpenSmartcard(certStore,argNotUsed)
If success = 0
Debug CkCertStore::ckLastErrorText(certStore)
CkCertStore::ckDispose(certStore)
ProcedureReturn
EndIf
; Find the certificate having a serial number = "48FC93B46055948D36A7C98A89D69416".
hexSerial.s = "48FC93B46055948D36A7C98A89D69416"
json.i = CkJsonObject::ckCreate()
If json.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckUpdateString(json,"serial",hexSerial)
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 serial number and subject CN
Debug "Found: " + CkCert::ckSerialNumber(cert) + ", " + CkCert::ckSubjectCN(cert)
Else
Debug "Not found."
EndIf
CkCertStore::ckDispose(certStore)
CkJsonObject::ckDispose(json)
CkCert::ckDispose(cert)
ProcedureReturn
EndProcedure