Go
Go
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 Go Downloads
success := false
// For this example, I have a certificate in raw base64 format (not PEM),
// that looks like this: "MIIGkDCCBHigAwIBAgIUMDA ... s/iqLsLA=="
sbCertBase64 := chilkat.NewStringBuilder()
success = sbCertBase64.LoadFile("qa_data/certs/base64Cert.txt","utf-8")
cert := chilkat.NewCert()
success = cert.LoadFromBase64(*sbCertBase64.GetAsString())
if success == false {
fmt.Println(cert.LastErrorText())
sbCertBase64.DisposeStringBuilder()
cert.DisposeCert()
return
}
// Get the public key.
pubKey := chilkat.NewPublicKey()
cert.GetPublicKey(pubKey)
numBits := pubKey.KeySize()
fmt.Println("Number of bits = ", numBits)
// If using an older version of Chilkat, the key size can be obtained like this:
xml := chilkat.NewXml()
xml.LoadXml(*pubKey.GetXml())
binDat := chilkat.NewBinData()
binDat.AppendEncoded(*xml.GetChildContent("Modulus"),"base64")
numBits = 8 * binDat.NumBytes()
fmt.Println("Number of bits = ", numBits)
sbCertBase64.DisposeStringBuilder()
cert.DisposeCert()
pubKey.DisposePublicKey()
xml.DisposeXml()
binDat.DisposeBinData()