Java
Java
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 Java Downloads
import com.chilkatsoft.*;
public class ChilkatExample {
static {
try {
System.loadLibrary("chilkat");
} catch (UnsatisfiedLinkError e) {
System.err.println("Native code library failed to load.\n" + e);
System.exit(1);
}
}
public static void main(String argv[])
{
boolean success = false;
// For this example, I have a certificate in raw base64 format (not PEM),
// that looks like this: "MIIGkDCCBHigAwIBAgIUMDA ... s/iqLsLA=="
CkStringBuilder sbCertBase64 = new CkStringBuilder();
success = sbCertBase64.LoadFile("qa_data/certs/base64Cert.txt","utf-8");
CkCert cert = new CkCert();
success = cert.LoadFromBase64(sbCertBase64.getAsString());
if (success == false) {
System.out.println(cert.lastErrorText());
return;
}
// Get the public key.
CkPublicKey pubKey = new CkPublicKey();
cert.GetPublicKey(pubKey);
int numBits = pubKey.get_KeySize();
System.out.println("Number of bits = " + numBits);
// If using an older version of Chilkat, the key size can be obtained like this:
CkXml xml = new CkXml();
xml.LoadXml(pubKey.getXml());
CkBinData binDat = new CkBinData();
binDat.AppendEncoded(xml.getChildContent("Modulus"),"base64");
numBits = 8 * binDat.get_NumBytes();
System.out.println("Number of bits = " + numBits);
}
}