我是一个证书菜鸟。在过去的几个小时里,我一直在尝试导入证书,而且我对安全性的研究越深入,就越感觉无法理解。
这是我试图在java中实现的目标:
- 用户可以使用可选密码上传任何类型的格式化证书
- 我需要将证书转换为非二进制 PEM 格式
- 提取私钥和公钥以存储在数据库中,如果缺少两者之一,则会抛出错误
到目前为止,我已经能够使用 java security 的 x509Certificate 解析一些证书,但我无法获取私钥。我也尝试过充气城堡,但也没有成功。
感谢您的帮助
最佳答案
X509Certificate
仅包含公钥。
私钥通常使用 PKCS#8 进行编码。尝试使用 PKCS8EncodedKeySpec
来使用 KeyFactory
。
带有私钥的组合公钥证书通常使用 PKCS#12(.pfx、.p12)进行编码。尝试“PKCS12”类型的 KeyStore
(以 Bouncy CaSTLe 作为提供者)。
关于java - 使用 bouncycaSTLe 解析证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7663217/