Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... 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 ThumbprintFinds a certificate by it's SHA-1 hex thumbprint. Parts of this example are specific to Windows because it searches the Windows Current User certificate store.
IncludeFile "CkCert.pb" IncludeFile "CkCertStore.pb" Procedure ChilkatExample() certStore.i = CkCertStore::ckCreate() If certStore.i = 0 Debug "Failed to create object." ProcedureReturn EndIf thumbprint.s = "12c1dd8015f3f03f7b1fa619dc24e2493ca8b4b2" ; This part of the example is specific to Windows because it is opening the Windows Current-User certificate store. bReadOnly.i = 1 success.i = CkCertStore::ckOpenCurrentUserStore(certStore,bReadOnly) If success <> 1 Debug CkCertStore::ckLastErrorText(certStore) CkCertStore::ckDispose(certStore) ProcedureReturn EndIf ; Find the certificate with the desired thumbprint cert.i = CkCertStore::ckFindCertBySha1Thumbprint(certStore,thumbprint) If CkCertStore::ckLastMethodSuccess(certStore) <> 1 Debug "Failed to find the certificate." CkCertStore::ckDispose(certStore) ProcedureReturn EndIf Debug "Found: " + CkCert::ckSubjectCN(cert) CkCert::ckDispose(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 <> 1 Debug CkCertStore::ckLastErrorText(certStorePem) CkCertStore::ckDispose(certStore) CkCertStore::ckDispose(certStorePem) ProcedureReturn EndIf cert = CkCertStore::ckFindCertBySha1Thumbprint(certStorePem,thumbprint) If CkCertStore::ckLastMethodSuccess(certStorePem) <> 1 Debug "Failed to find the certificate." CkCertStore::ckDispose(certStore) CkCertStore::ckDispose(certStorePem) ProcedureReturn EndIf Debug "Found: " + CkCert::ckSubjectCN(cert) CkCert::ckDispose(cert) CkCertStore::ckDispose(certStore) CkCertStore::ckDispose(certStorePem) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.