![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Find a Certificate by it's SHA-1 ThumbprintSee more Cert Store ExamplesFinds a certificate by it's SHA-1 hex thumbprint.Note: This example requires Chilkat v10.1.2 or later.
IncludeFile "CkCertStore.pb" IncludeFile "CkCert.pb" IncludeFile "CkJsonObject.pb" Procedure ChilkatExample() certStore.i = CkCertStore::ckCreate() If certStore.i = 0 Debug "Failed to create object." ProcedureReturn EndIf thumbprint.s = "12c1dd8015f3f03f7b1fa619dc24e2493ca8b4b2" ; This opens the Current User certificate store on Windows, ; On MacOS and iOS it opens the default Keychain. bReadOnly.i = 1 success.i = CkCertStore::ckOpenCurrentUserStore(certStore,bReadOnly) If success = 0 Debug CkCertStore::ckLastErrorText(certStore) CkCertStore::ckDispose(certStore) ProcedureReturn EndIf ; Find the certificate having a specific SHA1 thumbprint. json.i = CkJsonObject::ckCreate() If json.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkJsonObject::ckUpdateString(json,"thumbprint",thumbprint) cert.i = CkCert::ckCreate() If cert.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkCertStore::ckFindCert(certStore,json,cert) If success = 0 Debug "Failed to find the certificate." CkCertStore::ckDispose(certStore) CkJsonObject::ckDispose(json) CkCert::ckDispose(cert) ProcedureReturn EndIf Debug "Found: " + CkCert::ckSubjectCN(cert) ; ------------------------------------------------------------------------------------- ; Alternatively, one could load a certificate store object with certs from a PEM file, ; and do the same thing.. certStorePem.i = CkCertStore::ckCreate() If certStorePem.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success = CkCertStore::ckLoadPemFile(certStorePem,"pemFiles/certificates.pem") If success = 0 Debug CkCertStore::ckLastErrorText(certStorePem) CkCertStore::ckDispose(certStore) CkJsonObject::ckDispose(json) CkCert::ckDispose(cert) CkCertStore::ckDispose(certStorePem) ProcedureReturn EndIf success = CkCertStore::ckFindCert(certStore,json,cert) If success = 0 Debug "Failed to find the certificate." CkCertStore::ckDispose(certStore) CkJsonObject::ckDispose(json) CkCert::ckDispose(cert) CkCertStore::ckDispose(certStorePem) ProcedureReturn EndIf Debug "Found: " + CkCert::ckSubjectCN(cert) CkCertStore::ckDispose(certStore) CkJsonObject::ckDispose(json) CkCert::ckDispose(cert) CkCertStore::ckDispose(certStorePem) ProcedureReturn EndProcedure |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.