Java加载无密码PKCS12文件时Keystore仅读取私钥未读取证书的问题求助
Java加载无密码PKCS12文件时Keystore仅读取私钥未读取证书的问题求助
大家好,我在使用Java加载无密码的PKCS12文件时遇到了一个棘手的问题,想请各位帮忙解答一下。
我要处理的是一个用于双向TLS客户端认证的PKCS12文件,里面同时包含了私钥和证书,而且这个文件没有设置密码。我打算用Java的Keystore#load方法来加载它,根据官方文档对该方法password参数的说明:
password - the password used to check the integrity of the keystore, the password used to unlock the keystore, or null.
我理解当文件无密码时,应该传入null作为密码参数,于是写了下面这段代码:
keyStore.load(pkcs12InputStream, null)
原本我以为执行完这段代码后,私钥和证书都会被加载到keyStore中,但实际测试发现只有私钥被成功加载了。比如在执行完load后,我调用:
keyStore.getCertificateChain("1") // 或者对应的自定义别名
返回的结果是null,这说明证书链并没有被正确加载进来。
想请教一下,针对这种无密码的PKCS12文件,我应该怎么正确使用Keystore#load方法,才能同时把私钥和证书都加载进来呢?
备注:内容来源于stack exchange,提问作者ZarakshR
相关产品推荐
相关产品推荐

