如何将.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和网站),以便稍后导入证书。
DIEA
PIPIONE
相关分类