Java 将.jks信任库和密钥库转换为ios
我已经创建了一个java Web服务,它将在服务器端使用restlet与iPad通信,通过HTTPS进行相互身份验证。我使用本指南生成了两个.jks密钥库 我已经用java实现了一个用于测试的客户机,一切都很顺利 我假设无法在ios中使用.jks格式,那么我是否应该将client.jks转换为pkcs12文件以使其与ios兼容 我很难找到这方面的信息Java 将.jks信任库和密钥库转换为ios,java,ios,xcode,ssl,https,Java,Ios,Xcode,Ssl,Https,我已经创建了一个java Web服务,它将在服务器端使用restlet与iPad通信,通过HTTPS进行相互身份验证。我使用本指南生成了两个.jks密钥库 我已经用java实现了一个用于测试的客户机,一切都很顺利 我假设无法在ios中使用.jks格式,那么我是否应该将client.jks转换为pkcs12文件以使其与ios兼容 我很难找到这方面的信息 谢谢 将.jks转换为pkcs12听起来是个不错的选择。iOS provisioning portal生成的证书可以导出(通过KeyChain
谢谢 将.jks转换为pkcs12听起来是个不错的选择。iOS provisioning portal生成的证书可以导出(通过KeyChain Access)为pkcs12格式,因此可以安全地假设此格式与iOS兼容 您可以使用将jks转换为pkcs12。我在相反的方向使用了它(将从Apple获得的pkcs12文件转换为jks),在您的情况下,它也应该可以正常工作 此命令应起到以下作用:
keytool -importkeystore -srckeystore input.jks -destkeystore output.p12 -srcstoretype JKS -storetype PKCS12
如果我正确理解了您的情况,而我可能没有,那么您根本不需要更改.jk。应用程序的密钥库只是系统使用的证书容器。要在IOS上实现证书集成,您可能必须将客户端和ca证书添加到本地系统密钥链(签出:),但JKS本身应转移到其他平台,无需修改 此外,这里还有一个使用IOS上的密钥库来执行apple推送通知的示例。如果您想完全按照此人的方式操作(使用本地p12而不是加载的存储),只需按照此处的说明操作即可: 有关这些文件之间差异的更多信息,请查看:
祝你的项目好运 我试着转换它,但没有100%起作用<代码>导入别名cerver_pub的条目时出现问题:java.security.KeyStoreException:不支持TrustedCertEntry。别名cerver_pub的条目未导入。是否要退出导入过程?[否]:是导入命令已完成:1个条目成功导入,1个条目失败或取消似乎无法转换client.jks中的证书cerver\u pub。这有什么好担心的吗?感谢您的快速回复@用户2122636“100%不工作”是什么意思?转换失败了吗,或者转换的输出文件在iOS中不起作用了吗?对不起,我在完成之前不小心发送了评论。请查看编辑。@user2122636我自己刚试过这个转换,它成功了。当然,
jks
I converted top12
最初是从p12
转换成jks
,所以可能这就是为什么它没有问题将其转换回。@user2122636我还尝试使用您提供的链接中的指南创建jks
,并没有问题将其转换成p12
。您能否显示用于创建jks
并将其转换为p12
的确切命令?