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

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

东郭鸿福
2023-03-14
问题内容

在Java Web服务客户端的开发过程中,我遇到了一个问题。Web服务的身份验证使用客户端证书,用户名和密码。我从Web服务背后的公司那里收到的客户证书采用.cer格式。当我使用文本编辑器检查文件时,它具有以下内容:

-----BEGIN CERTIFICATE-----
[Some base64 encoded data]
-----END CERTIFICATE-----

我可以在Internet Explorer中将该文件作为证书导入(无需输入密码!),并使用它通过Web服务进行身份验证。

通过首先剥离第一行和最后一行,转换为Unix换行符并运行base64解码,我能够将该证书导入密钥库。可以将生成的文件导入到密钥库中(使用keytool命令)。当我在密钥库中列出条目时,该条目的类型为trustedCertEntry。由于此输入类型(?),我无法使用此证书对Web服务进行身份验证。我开始认为所提供的证书是用于身份验证的公共证书…

我发现一种解决方法是在IE中导入证书并将其导出为.pfx文件。该文件可以作为密钥库加载,并且可以用于与Web服务进行身份验证。但是,我不能期望我的客户每次收到新证书时都执行这些步骤。因此,我想将.cer文件直接加载到Java中。有什么想法吗?

附加信息:Web服务背后的公司告诉我,应从PC和用户(使用IE和网站)请求证书,稍后再导入证书。


问题答案:
  • 如果要进行身份验证,则需要私钥-没有其他选择。
  • 证书是具有额外属性(例如公司名称,国家/地区…)的公共密钥,该证书由某些证书颁发机构签名,以确保所附加的属性为真。
  • .CER文件是证书,没有私钥。私钥.PFX keystore通常随文件一起提供。如果你真正进行身份验证是因为你已经导入了私钥。
  • 通常,你可以导入.CER证书而不会出现任何问题
keytool -importcert -file certificate.cer -keystore keystore.jks -alias "Alias" 


 类似资料:
  • 问题内容: 如何从类路径中将.p12证书导入到Java密钥库中?首先,我使用了InstallCert https://code.google.com/p/java- use- examples/source/browse/trunk/src/com/aw/ad/util/InstallCert.java 进行了一些更改,以便获得服务器证书将被导入到Java安装目录中的密钥库中。这工作正常,但现在我

  • 我试图让一个运行在Tomcat 6之上的应用程序通过SSL连接到LDAP服务器。 我使用以下方法将服务器的证书导入密钥库: 当我用SSL调试打开启动Tomcat时,根据日志Tomcat正在使用正确的证书文件: 但是,Tomcat没有添加我刚刚导入的证书——cacerts文件中的所有其他证书都会打印到日志中——并且连接失败: 重启Tomcat没有帮助。我已经用keyool-list命令验证了新的证书

  • 问题内容: 有没有人遇到过他们必须处理.truststore文件的地方?并且知道如何将.cer导入.truststore文件? 我不确定是否必须使用Java Keytool或Linux命令(例如openssl命令)。 谢谢 问题答案: changeit是默认的信任库密码

  • 问题内容: 我试图连接到SSL服务器,这需要我进行身份验证。为了在Apache MINA上使用SSL,我需要一个合适的JKS文件。但是,我只得到了一个.PEM文件。 如何从PEM文件创建JKS文件? 问题答案: 首先,将你的证书转换为DER格式: 然后,将其导入密钥库中:

  • 2)生成CA证书请求 3)生成自签有效期-10年 4)使用KeyStoreExplorer这样的程序将密钥对(私钥和自签名证书)导入到新的JKS中

  • 问题内容: 我的Java程序如何知道包含证书的密钥库在哪里?或者,如何告诉我的Java程序在哪里寻找密钥库? 在以某种方式指定了密钥库之后,如何指定用于对服务器进行身份验证的证书? 问题答案: