(Objective-C) Iterate over Certificates on Connected Smart Cards and USB Tokens
Demonstrates how to iterate over the certificates on connected smart cards and USB tokens.
Note: Requires Chilkat v10.1.2 or later.
#import <CkoCertStore.h>
#import <NSString.h>
#import <CkoCert.h>
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 = @"";
BOOL 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;
}
|