转换.jks信任库和密钥库到ios



我已经创建了一个java web服务,它将在服务器端使用restlet与ipad通信,该服务器端通过HTTPS与相互身份验证通信。我使用以下指南生成了两个.jks密钥库

http://www.herongyang.com/JDK/ssl_client_auth.html

我已经在java中实现了一个用于测试目的的客户端,一切都很好。

我认为在ios中不可能使用。jks格式,所以我应该转换客户端。JKS到pkcs12文件,以使其与ios兼容?

我找不到这方面的信息。

谢谢!

如果我正确理解了您的情况,那么您根本不需要更改.jks文件。应用程序的KeyStore只是系统使用的证书的容器。为了在IOS上实现证书集成,你可能需要将客户端和ca证书添加到本地系统密钥链中(查看:IOS:在keychain中预先安装SSL证书-以编程方式),但JKS本身应该无需修改即可转移到其他平台。

另外,这里有一个在IOS上使用密钥库来做apple推送通知的例子。iOS推送通知- JavaPNS - keystore。如果您想以与这个人完全相同的方式(使用本地的p12而不是加载的存储),只需遵循这里的说明:将。jks转换为p12

有关这些文件之间差异的更多信息,请查看:.keystore文件和.jks文件之间的差异

祝你的项目好运。

将。jks转换为pkcs12听起来是个不错的选择。iOS配置门户生成的证书可以(通过KeyChain Access)导出为pkcs12格式,因此可以安全地假设该格式与iOS兼容。

您可以使用keytool将jks转换为pkcs12。我以相反的方向使用它(将从Apple获得的pkcs12文件转换为jks),它应该在您的情况下也没有问题。

这个命令应该可以达到目的:

keytool -importkeystore -srckeystore input.jks -destkeystore output.p12 -srcstoretype JKS -storetype PKCS12

最新更新