iOS - 将证书添加到应用程序

时间:2013-03-01 16:21:06

标签: ios objective-c certificate

我有一个私有应用程序,它将与Web服务通信并使用客户端证书身份验证。

我需要为每个用户使用不同的证书,因此我无法将其添加到应用程序资源中。 我用ipad模拟器测试了应用程序,并且我使用了计算机上的证书,但它运行良好。

如何在没有任何证书的情况下安装应用程序,然后在iPad上安装应用程序后添加证书并在我的应用程序上阅读此证书?

我考虑过为每个客户发送一封包含证书的电子邮件,但客户如何添加证书以及如何在我的应用程序中阅读?

1 个答案:

答案 0 :(得分:2)

您只需将证书放在服务器文件夹中并在代码中调用URL,如下所示:

NSURL *url = [NSURL URLWithString:@"http://www.yoururl.com/cert.pem"];
[[UIApplication sharedApplication] openURL:url];

使用此代码,应用程序会识别出它是一个证书并要求用户安装它(这非常简单!)。

修改

当我的设备没有安装证书时,我的网址请求不起作用,我收到一个错误,我用这种方法对待它:

+ (void)treatConnectionErrors:(NSError *)error withAlert:(BOOL)withAlert
{
    if (error)
    {
        /* If it's a certificate error, shows alert with link to install certificate */
        if ([error code] == -1202)
        {
            // do something, such as show alertview warning about the certificate 
        } else {
            // treat other errors if you want to
        }
     }
}