gpt4 book ai didi

带有 SSL 客户端证书的 iPhone 应用程序

转载 作者:太空狗 更新时间:2023-10-30 03:13:47 26 4
gpt4 key购买 nike

我正在构建一个需要使用客户端证书通过 https 访问 Web 服务的 iPhone 应用程序。如果我将客户端证书(pkcs12 格式)放入应用程序包中,我就可以将其加载到应用程序中并进行 https 调用(很大程度上要感谢 stackoverflow.com)。

但是,我需要一种无需任何证书即可分发应用程序并将其留给用户提供自己的证书的方法。我想我会通过指示用户在 iphone 的配置文件(设置->常规->配置文件)中导入证书来做到这一点,这是通过在 Mail.app 中打开 .p12 文件得到的,然后我将访问该项目在我的应用程序中。我希望配置文件中的证书可通过钥匙串(keychain) API 获得,但我想我错了。

1) 有没有办法访问我已经在我的应用中的 iphone 配置文件中加载的证书?

2) 在我的应用程序中加载用户指定的证书还有哪些其他选项?我唯一能想到的是提供一些界面,用户可以在其中提供指向他的 .p12 证书的 URL,然后我可以将其加载到应用程序的钥匙串(keychain)中供以后使用,但这并不完全是用户友好的。我正在寻找允许用户将证书放在手机上(通过电子邮件发送给自己)然后将其加载到我的应用程序中的东西。

最佳答案

我试过这个:

NSString *thePath = [[NSBundle mainBundle] pathForResource:@"certificate" ofType:@"p12"]; 
NSData *PKCS12Data = [[NSData alloc] initWithContentsOfFile:thePath];
CFDataRef inPKCS12Data = (CFDataRef)PKCS12Data;
CFStringRef password = CFSTR("pass");
const void *keys[] = { kSecImportExportPassphrase };
const void *values[] = { password };
CFDictionaryRef optionsDictionary = CFDictionaryCreate(NULL, keys, values, 1, NULL, NULL);
CFArrayRef items = CFArrayCreate(NULL, 0, 0, NULL);
SecPKCS12Import(inPKCS12Data, optionsDictionary, &items);

inPKCS12Data 正确但项目为空。发生了什么事?

关于带有 SSL 客户端证书的 iPhone 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2037172/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com