Objective-C
Objective-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 Objective-C Downloads
#import <CkoStringBuilder.h>
#import <CkoCert.h>
#import <CkoPublicKey.h>
#import <CkoXml.h>
#import <CkoBinData.h>
BOOL success = NO;
// For this example, I have a certificate in raw base64 format (not PEM),
// that looks like this: "MIIGkDCCBHigAwIBAgIUMDA ... s/iqLsLA=="
CkoStringBuilder *sbCertBase64 = [[CkoStringBuilder alloc] init];
success = [sbCertBase64 LoadFile: @"qa_data/certs/base64Cert.txt" charset: @"utf-8"];
CkoCert *cert = [[CkoCert alloc] init];
success = [cert LoadFromBase64: [sbCertBase64 GetAsString]];
if (success == NO) {
NSLog(@"%@",cert.LastErrorText);
return;
}
// Get the public key.
CkoPublicKey *pubKey = [[CkoPublicKey alloc] init];
[cert GetPublicKey: pubKey];
int numBits = [pubKey.KeySize intValue];
NSLog(@"%@%d",@"Number of bits = ",numBits);
// If using an older version of Chilkat, the key size can be obtained like this:
CkoXml *xml = [[CkoXml alloc] init];
[xml LoadXml: [pubKey GetXml]];
CkoBinData *binDat = [[CkoBinData alloc] init];
[binDat AppendEncoded: [xml GetChildContent: @"Modulus"] encoding: @"base64"];
numBits = 8 * [binDat.NumBytes intValue];
NSLog(@"%@%d",@"Number of bits = ",numBits);