【问题标题】:Load public key from PEM file into NSData将 PEM 文件中的公钥加载到 NSData
【发布时间】:2013-05-31 20:28:19
【问题描述】:
【问题讨论】:
标签:
ios
objective-c
security
pem
【解决方案1】:
假设您知道公钥存在并以“-----BEGIN PUBLIC KEY-----”开头并以“-----END PUBLIC KEY-----”结尾,您可以执行以下操作以下:
NSString *startPublicKey = @"-----BEGIN PUBLIC KEY-----";
NSString *endPublicKey = @"-----END PUBLIC KEY-----";
NSString* path = [[NSBundle mainBundle] pathForResource:@"mykey"
ofType:@"pem"];
NSString* content = [NSString stringWithContentsOfFile:path
encoding:NSUTF8StringEncoding
error:NULL];
NSString *publicKey;
NSScanner *scanner = [NSScanner scannerWithString:content];
[scanner scanUpToString:startPublicKey intoString:nil];
[scanner scanString:startPublicKey intoString:nil];
[scanner scanUpToString:endPublicKey intoString:&publicKey];
NSData *data = [NSData base64DataFromString:publicKey];