iOS SDK 8.2中是否提供SecCertificateCopyPublicKey功能?

时间:2015-03-26 09:48:17

标签: ios objective-c iphone security

我正在尝试使用此功能从证书中检索公钥。

@import Security
SecCertificateCopyPublicKey (SecCertificateRef certificate, SecKeyRef *key)

注意 - 上面的代码只是一个片段。 我正在使用Xcode版本6.2(6C131e)和iOS SDK 8.2。 SecCertificateCopyPublicKey函数似乎在iOS SDK 8.2中不可用。 SecCertificate上的iOS 8.2 SDK中只提供以下功能....有人可以澄清iOS SDK中SecCertificateCopyPublicKey功能的可用性吗?

enter image description here

1 个答案:

答案 0 :(得分:0)

我无法在sdks标题中找到它,但它在文档中...并且没有迹象表明它已被删除

您可以尝试在m文件的开头自己定义它,以便编译器可以看到它 (标题只是告诉它它在那里 - 它并没有真正“做任何事情”)

你可以这样使用它

同时我提交了

的错误

适用于IOS 8.2

//forward define it
//IF it doesnt exist, you get an error but if it exists you can use it!
OSStatus SecCertificateCopyPublicKey ( SecCertificateRef certificate, SecKeyRef *key );

//my class
@implementation M42Defaults 

- (id)initWithURL:(NSURL *)url {
    self = [super init];
    if(self) {
        //use it
        OSStatus s = SecCertificateCopyPublicKey(nil, nil);
        //...
    }
    return self;
}