Unicode C++
Unicode C++
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 Unicode C++ Downloads
#include <CkStringBuilderW.h>
#include <CkCertW.h>
#include <CkPublicKeyW.h>
#include <CkXmlW.h>
#include <CkBinDataW.h>
void ChilkatSample(void)
{
bool success = false;
// For this example, I have a certificate in raw base64 format (not PEM),
// that looks like this: "MIIGkDCCBHigAwIBAgIUMDA ... s/iqLsLA=="
CkStringBuilderW sbCertBase64;
success = sbCertBase64.LoadFile(L"qa_data/certs/base64Cert.txt",L"utf-8");
CkCertW cert;
success = cert.LoadFromBase64(sbCertBase64.getAsString());
if (success == false) {
wprintf(L"%s\n",cert.lastErrorText());
return;
}
// Get the public key.
CkPublicKeyW pubKey;
cert.GetPublicKey(pubKey);
int numBits = pubKey.get_KeySize();
wprintf(L"Number of bits = %d\n",numBits);
// If using an older version of Chilkat, the key size can be obtained like this:
CkXmlW xml;
xml.LoadXml(pubKey.getXml());
CkBinDataW binDat;
binDat.AppendEncoded(xml.getChildContent(L"Modulus"),L"base64");
numBits = 8 * binDat.get_NumBytes();
wprintf(L"Number of bits = %d\n",numBits);
}