Lianja
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
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