Sample code for 30+ languages & platforms
Objective-C

Iterate over Certificates on Connected Smart Cards and USB Tokens

See more Cert Store Examples

Demonstrates how to iterate over the certificates on connected smart cards and USB tokens.

Note: Requires Chilkat v10.1.2 or later.

Chilkat Objective-C Downloads

Objective-C
#import <CkoCertStore.h>
#import <NSString.h>
#import <CkoCert.h>

BOOL success = NO;

CkoCertStore *certStore = [[CkoCertStore alloc] init];

// Detects connected smart cards and USB tokens
// and loads the certificate store object with the certificates found.
// Works on Windows, MacOS, iOS, and Linux.
// Note: If something is not detected, contact info@chilkatsoft.com
// for help or for workarounds.
NSString *argNotUsed = @"";
success = [certStore OpenSmartcard: argNotUsed];
if (success == NO) {
    NSLog(@"%@",certStore.LastErrorText);
    return;
}

CkoCert *cert = [[CkoCert alloc] init];

int numCerts = [certStore.NumCertificates intValue];
int i = 0;

while (i < numCerts) {
    // Load the cert object with the Nth certificate found in the connected HSMs
    [certStore GetCert: [NSNumber numberWithInt: i] cert: cert];
    NSLog(@"%d%@%@",i,@": ",cert.SubjectCN);
    i = i + 1;
}