Sample code for 30+ languages & platforms
Visual FoxPro

Find a Certificate by it's SHA-1 Thumbprint

See more Cert Store Examples

Finds a certificate by it's SHA-1 hex thumbprint.

Note: This example requires Chilkat v10.1.2 or later.

Chilkat Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loCertStore
LOCAL lcThumbprint
LOCAL lnBReadOnly
LOCAL loJson
LOCAL loCert
LOCAL loCertStorePem

lnSuccess = 0

loCertStore = CreateObject('Chilkat.CertStore')

lcThumbprint = "12c1dd8015f3f03f7b1fa619dc24e2493ca8b4b2"

* This opens the Current User certificate store on Windows,
* On MacOS and iOS it opens the default Keychain.
lnBReadOnly = 1
lnSuccess = loCertStore.OpenCurrentUserStore(lnBReadOnly)
IF (lnSuccess = 0) THEN
    ? loCertStore.LastErrorText
    RELEASE loCertStore
    CANCEL
ENDIF

* Find the certificate having a specific SHA1 thumbprint.
loJson = CreateObject('Chilkat.JsonObject')
loJson.UpdateString("thumbprint",lcThumbprint)

loCert = CreateObject('Chilkat.Cert')
lnSuccess = loCertStore.FindCert(loJson,loCert)
IF (lnSuccess = 0) THEN
    ? "Failed to find the certificate."
    RELEASE loCertStore
    RELEASE loJson
    RELEASE loCert
    CANCEL
ENDIF

? "Found: " + loCert.SubjectCN

* -------------------------------------------------------------------------------------
* Alternatively, one could load a certificate store object with certs from a PEM file,
* and do the same thing..
loCertStorePem = CreateObject('Chilkat.CertStore')

lnSuccess = loCertStorePem.LoadPemFile("pemFiles/certificates.pem")
IF (lnSuccess = 0) THEN
    ? loCertStorePem.LastErrorText
    RELEASE loCertStore
    RELEASE loJson
    RELEASE loCert
    RELEASE loCertStorePem
    CANCEL
ENDIF

lnSuccess = loCertStore.FindCert(loJson,loCert)
IF (lnSuccess = 0) THEN
    ? "Failed to find the certificate."
    RELEASE loCertStore
    RELEASE loJson
    RELEASE loCert
    RELEASE loCertStorePem
    CANCEL
ENDIF

? "Found: " + loCert.SubjectCN

RELEASE loCertStore
RELEASE loJson
RELEASE loCert
RELEASE loCertStorePem