为了账号安全,请及时绑定邮箱和手机立即绑定

如何将.cer证书导入java密钥库?

如何将.cer证书导入java密钥库?

HUX布斯 2019-07-31 15:01:45
如何将.cer证书导入java密钥库?在开发Java Web服务客户端期间,我遇到了一个问题。Web服务的身份验证使用客户端证书,用户名和密码。我从webservice后面的公司收到的客户证书是.cer格式化的。当我使用文本编辑器检查文件时,它具有以下内容:-----BEGIN CERTIFICATE-----[Some base64 encoded data]-----END CERTIFICATE-----我可以在Internet Explorer中将此文件作为证书导入(无需输入密码!)并使用它来通过Web服务进行身份验证。通过首先剥离第一行和最后一行,转换为unix换行符并运行base64-decode,我能够将此证书导入密钥库。可以将生成的文件导入密钥库(使用该keytool命令)。当我列出密钥库中的条目时,此条目属于该类型trustedCertEntry。由于此条目类型(?),我无法使用此证书对Web服务进行身份验证。我开始认为提供的证书是用于身份验证的公共证书...我找到的解决方法是在IE中导入证书并将其导出为.pfx文件。此文件可以作为密钥库加载,并可用于对Web服务进行身份验证。但是,我不能指望我的客户每次收到新证书时都会执行这些步骤。所以我想将.cer文件直接加载到Java中。有什么想法吗?附加信息:webservice背后的公司告诉我,应该从PC和用户那里请求证书(使用IE和网站),以便稍后导入证书。
查看完整描述

3 回答

?
DIEA

TA贡献1820条经验 获得超2个赞

  • 如果要进行身份验证,则需要私钥 - 没有其他选择。

  • 证书是具有额外属性(如公司名称,国家/地区等)的公钥,由某些证书颁发机构签名,以确保附加属性为true。

  • .CER文件是证书,没有私钥。私钥.PFX keystore通常提供有文件。如果您真的进行身份验证是因为您已经导入了私钥。

  • 您通常可以.CER毫无问题地导入证书

    keytool -importcert -file certificate.cer -keystore keystore.jks -alias "Alias"


查看完整回答
反对 回复 2019-07-31
?
PIPIONE

TA贡献1829条经验 获得超9个赞

导入.cer从浏览器下载的证书文件(打开网址并挖掘详细信息)到cacerts keystore中java_home\jre\lib\security为我工作,而不是尝试生成和使用我自己的密钥库。

  1. 去你的 java_home\jre\lib\security

  2. Windows)使用cmdCTRLSHIFT+ 打开管理命令行ENTER

  3. 运行keytool导入证书:

    • (替换yourAliasNamepath\to\certificate.cer分别地)


 ..\..\bin\keytool -import -trustcacerts -keystore cacerts -storepass changeit -noprompt -alias yourAliasName -file path\to\certificate.cer

这样您就不必指定任何其他JVM选项,并且JRE应该识别证书。


查看完整回答
反对 回复 2019-07-31
  • 3 回答
  • 0 关注
  • 1202 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信