栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么Java在SSL握手期间不发送客户端证书?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么Java在SSL握手期间不发送客户端证书?

你可能已将中间CA证书导入了密钥库,而没有将其与拥有客户端证书及其私钥的条目相关联。你应该可以使用查看此内容

keytool -v -list -keystore store.jks
。如果每个别名条目仅获得一个证书,那么它们就不会在一起。

你需要将证书及其证书链一起导入具有私钥的密钥库别名中。

要找出哪个密钥库别名具有私钥,请使用

keytool -list -keystore store.jks
(我在这里假设JKS存储类型)。这将告诉你以下信息:

Your keystore contains 1 entrymyalias, Feb 15, 2012, PrivateKeyEntry, Certificate fingerprint (MD5): xxxxxxxx

在这里,别名为

myalias
。如果还使用
-v
,则应该看到
Alias Name: myalias

如果尚未单独购买,请从密钥库导出客户端证书:

keytool -exportcert -rfc -file clientcert.pem -keystore store.jks -alias myalias

这应该给你一个PEM文件。

使用文本编辑器(或

cat
),准备
bundle.pem
包含该客户端证书和中间CA证书(如果需要,还可以包括根CA证书本身)的文件(叫它),以使客户端证书位于开始位置并为其发行者证书就在下面。

看起来应该像这样:

-----BEGIN CERTIFICATE-----MIICajCCAdOgAwIBAgIBAjANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJVSzEa....-----END CERTIFICATE----------BEGIN CERTIFICATE-----MIICkjCCAfugAwIBAgIJAKm5bDEMxZd7MA0GCSqGSIb3DQEBBQUAMDsxCzAJBgNV....-----END CERTIFICATE-----

现在,将此捆绑包重新导入到你的私钥为的别名中:

keytool -importcert -keystore store.jks -alias myalias -file bundle.pem



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/398576.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号