Tre*_*kaz 8 java ssl certificate
我有一个网页,其中显示了与服务器一起使用的SSL证书的详细信息.我认为toString()可能没问题,但它看起来像这样:
[0] Version: 3
SerialNumber: 117262955582477610212812061435665386300
IssuerDN: CN=localhost
Start Date: Wed Jun 13 15:15:05 EST 2012
Final Date: Tue Jun 08 15:15:05 EST 2032
SubjectDN: CN=localhost
Public Key: DSA Public Key
y: 6ef96c2ace616280c5453dda2[TRUNCATED BY ME]
Signature Algorithm: SHA1withDSA
Signature: 302c021450b1557d879a25ccf6b89e7ac6de8dc6
0b13df7e0214559cdc810cdb1faa3a645da837cd
5efdeb81d62e
Extensions:
critical(true) 2.5.29.17 value = DER Sequence
Tagged [7] IMPLICIT
DER Octet String[4]
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是扩展的模糊表示.我更愿意看到"subjectAltNames"和替代名称列表,就像我在浏览证书信息时在网络浏览器中看到的那样.
有办法做到这一点吗?我在班级路径上有完整的BouncyCastle,所以我希望我能在那里找到它,但我似乎无法找到它.
最糟糕的是,我知道我可以花时间自己搞清楚所有的点点滴滴,但我不知道是否会错过某人可能期望在那里找到的扩展.
用我自己的解决方案回答我自己的问题。
事实证明,这种蹩脚的 toString() 输出仅在使用 Sun 的 X509Certificate 实现时才会发生。当使用 BouncyCastle 时,它看起来好多了(或者至少更详细。)
结果发现我们在页面渲染之前没有初始化 BC 的提供者。初始化被延迟,直到我们想要使用它来实际生成证书为止,现在它是在 web 应用程序启动时完成的,toString() 看起来好多了。
| 归档时间: |
|
| 查看次数: |
6822 次 |
| 最近记录: |