当前位置: 首页 > 面试题库 >

将PFX文件导入现有的JKS文件(不从.pfx转换为.jks)

黄宏毅
2023-03-14
问题内容

我有Java Web服务,并已使用Java Keytool创建的jks文件实现了X.509。

keytool -genkey -keyalg RSA -sigalg SHA1withRSA -validity 730 -alias myservicekey -keypass skpass -storepass sspass -keystore serviceKeystore.jks -dname "cn=localhost"

keytool -genkey -keyalg RSA -sigalg SHA1withRSA -validity 730 -alias myclientkey  -keypass ckpass -storepass cspass -keystore clientKeystore.jks -dname "cn=clientuser"

为了在客户端和服务器之间建立信任,我将服务器证书导入到客户端,并将客户端证书导入到服务器。

将服务器公钥(证书)导入客户端。

keytool -export -rfc -keystore clientKeystore.jks -storepass cspass -alias myclientkey -file MyClient.cer
keytool -import -trustcacerts -keystore serviceKeystore.jks -storepass sspass -alias myclientkey -file MyClient.cer -noprompt

将客户端公钥(证书)导入服务器

keytool -export -rfc -keystore serviceKeystore.jks -storepass sspass -alias myservicekey -file MyService.cer
keytool -import -trustcacerts -keystore clientKeystore.jks -storepass cspass -alias myservicekey -file MyService.cer -noprompt

Service和Client都是用Java编写的,并且运行良好。现在我有一个.NET客户端,我的理解是,如果我向.NET客户端(即clientKeystore.jks)提供相同的jave客户端证书,则它应该可以工作,但是.net客户端有问题。

.NET客户端开发人员坚持要求我使用他生成的.pfx证书, 如何将.pfx证书导入到现有的.jks文件中

我在网上看到的示例要求我创建一个新的.jks文件。

谢谢。


问题答案:

您可以将该文件视为Java PKCS12密钥库。您可以使用所有相同的keytool命令,但-storetype PKCS12由于默认值为JKS
,因此您还需要指定其他命令。在JDK 1.6及更高版本中可用的示例:

keytool -importkeystore -srckeystore mypfxfile.pfx -srcstoretype pkcs12 
-destkeystore clientcert.jks -deststoretype JKS

另请参阅此线程。我认为这可以回答您的问题,但是如果您不介意任何建议,我只会将现有的JKS文件输出为P12文件,然后将P12文件提供给.NET客户端。如果确实是格式问题,那将解决您的问题。您可以按照此处概述的步骤进行操作。如果仍然有问题,则应发布.NET客户端的Exception,否则我们将无法为您提供帮助。



 类似资料:
  • 问题内容: 我需要签署Android应用程序()。 我有档案 我把它转化为通过Internet Explorer文件,然后转换到使用密钥工具。然后,我尝试用jarsigner 签名,但是它说.keystore不包含私钥。 我做错了什么? 问题答案: 使用JDK 1.6或更高版本 贾斯汀(Justin)在下面的评论中指出,仅keytool能够使用以下命令来执行此操作(尽管仅在JDK 1.6和更高版本

  • 如何生成<代码>。pem使用OpenSSL从PFX文件中获取CA证书和客户端证书。

  • null 是什么原因造成了这一点?我是不是形成了一个错误的pfx文件?

  • 我创建了一个csr文件,并将该文件发送给我的证书团队,他们给出了链cer(内部singed certificate)文件,我试图使用Ikeyman接收cer文件,但它不允许我接收,我使用了keytool命令 keytool-import-trustcacerts-alias dev-file test.cer-keystore key.jks

  • 我需要帮助找到一种方法来获得一个Eclipse keystone文件,该文件具有应用程序转换为.jks文件的凭据,用于为应用程序的新版本签名。 用于创建原始应用程序的计算机被销毁,但密钥库文件被保存了下来。我在Android Studio(而不是Eclipse)上重新创建了这个应用程序,但现在我需要获得keystone文件,该文件包含信息和凭据,可以转换为.jks文件,这样我就可以使用它并将新版本

  • 问题内容: 我正在尝试使用本指南 (以及互联网上的其他一些指南)使用我们公司的.pfx证书签署一个jar applet档案:http : //www.globalsign.com/support/ordering- guides/SignJavaCodeAppletsPFX.pdf 一切似乎都很好,但是当我尝试不通过浏览器运行apple时,我看到 “ Publisher”是UNKNOWN(不受信任