Returns the serial number of an X.509 certificate.
Public Declare Function X509_CertSerialNumber Lib "diCrPKI.dll"
(ByVal strCertFile As String, ByVal strOutput As String,
ByVal nOutChars As Long, ByVal nOptions As Long) As Long
nRet = X509_CertSerialNumber(strCertFile, strOutput, nOutChars, nOptions)
long __stdcall X509_CertSerialNumber(const char *szCertFile, char *szOutput, long nOutChars, long nOptions);
Returns the number of characters set in szOutput. If nOutChars is zero it returns the maximum number of characters required. C/C++ users should allocate one extra for the terminating NUL character. If an error occurs, it returns a negative error code.
The certificate may be in binary DER format or base64 PEM format.
Dim nRet As Long Dim strCertName As String Dim strOutput As String * 64 strCertName = "BobRSASignByCarl.cer" ' Set dir to suit nRet = X509_CertSerialNumber(strCertName, strOutput, Len(strOutput), 0) Debug.Print "X509_CertSerialNumber returns " & nRet & " for " & strCertName & ": " & Left(strOutput, nRet)
Should result in
X509_CertSerialNumber returns 32 for BobRSASignByCarl.cer: 46346bc7800056bc11d36e2ecd5d71d0
X509_CertIsValidNow X509_CertThumb