Sample code for 30+ languages & platforms
Lianja

Get a Certificate's Key Size

See more Certificates Examples

Demonstrates how to get the RSA key size of a certificate (for example, 1024-bit, 2048-bit, etc.)

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

// For this example, I have a certificate in raw base64 format (not PEM),
// that looks like this:  "MIIGkDCCBHigAwIBAgIUMDA ... s/iqLsLA=="
loSbCertBase64 = createobject("CkStringBuilder")
llSuccess = loSbCertBase64.LoadFile("qa_data/certs/base64Cert.txt","utf-8")

loCert = createobject("CkCert")
llSuccess = loCert.LoadFromBase64(loSbCertBase64.GetAsString())
if (llSuccess = .F.) then
    ? loCert.LastErrorText
    release loSbCertBase64
    release loCert
    return
endif

// Get the public key.
loPubKey = createobject("CkPublicKey")
loCert.GetPublicKey(loPubKey)

lnNumBits = loPubKey.KeySize
? "Number of bits = " + str(lnNumBits)

// If using an older version of Chilkat, the key size can be obtained like this:
loXml = createobject("CkXml")
loXml.LoadXml(loPubKey.GetXml())

loBinDat = createobject("CkBinData")
loBinDat.AppendEncoded(loXml.GetChildContent("Modulus"),"base64")

lnNumBits = 8 * loBinDat.NumBytes
? "Number of bits = " + str(lnNumBits)


release loSbCertBase64
release loCert
release loPubKey
release loXml
release loBinDat