【问题标题】:Load public key from PEM file into NSData将 PEM 文件中的公钥加载到 NSData
【发布时间】:2013-05-31 20:28:19
【问题描述】:

我有一个存储在 PEM 文件中的公钥,我想加载这个文件并将公钥提取到一个 NSData 中,然后我可以将它发送到 [SecKeyWrapper addPeerPublicKey:keyBits:](参见http://developer.apple.com/library/ios/#samplecode/CryptoExercise/Listings/Classes_SecKeyWrapper_h.html)。

如何在 Objective-C(iOS 上)中做到这一点?

【问题讨论】:

    标签: 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];
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多