从OSX复制p12证书,该证书将在调用Web API时由应用程序使用

时间:2017-05-22 10:53:39

标签: ios ssl certificate p12

我在stackoverflow上读过this question所以我知道我无法从应用程序中读取配置文件中已安装的认证。

这是我尝试过的:

  1. 通过AirDrop复制从我的macbook自签名的证书(.p12)。
  2. 然后iPhone会让我安装它,所以我安装了。
  3. 现在,我可以在Settings->General->Profiles & Device Management中看到证书,但在个人资料中Not Verified下面有红色字Signed by。我想这是因为证书是自签名的。
  4. 我开发了一个使用[NSURLSession dataTaskWithURL: ...]来请求网页的应用,但没有[URLSession: didReceiveChallenge: ...]
  5. 该应用收到错误Code=-1202 "The certificate for this server is invalid.",这与我在安装证书之前遇到的错误相同。
  6. 更新:我再次尝试了,我注意到我获得的证书未签名,也许这就是我失败的原因并且个人资料显示未经验证?也许我应该问我的同事给我这个证书。

    我需要的是将自签名证书(.p12)从我的OSX复制到我的iPhone / iPad中,然后开发一个应用程序,在调用Web API时将其作为凭据读取。

    由于每个授权用户都会获得不同的证书,我不能将证书放在应用程序的主要包中。

    我知道我可以通过应用程序下载证书(可能带有一些授权令牌),但由于服务器尚未开发此API,我需要在测试应用程序时手动复制证书。

    有人可以教我如何复制证书并从我的开发应用程序中读取它。

    感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

我刚试过这个:

  • 创建自签名证书。输入一个密码短语并将其他所有内容留空:

    openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

  • 通过电子邮件发送给自己

  • 在iOS设备上打开电子邮件,然后打开附加的cert.pem文件

  • 在打开的设置菜单中,点击install

  • 输入你的设备密码

  • 点击install确认。

- >结果:可信证书: