2

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

要求我为每个用户使用不同的证书,因此无法将其添加到应用程序资源中。我使用 ipad 模拟器测试了该应用程序,并使用了位于我的计算机上的证书并且它有效。

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

我想为每个客户发送一封带有证书的电子邮件,但是客户如何添加证书以及我将如何在我的应用程序中阅读它?

4

1 回答 1

2

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

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

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

编辑

当我的设备没有安装证书时,我的 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
        }
     }
}
于 2013-03-01T17:30:39.327 回答