我想从Bouncy Castle的用户公钥中读取issuer String。是否有示例代码或我可以学习的东西?
答案 0 :(得分:3)
如果您可以获取证书对象,则可以执行以下操作:
((X509Certificate) certificate).getIssuerX500Principal().getName();
公钥本身没有发卡行 - 只有证书具有。您可以从证书中获取公钥,但反之亦然。
更新:由于您似乎要验证用户的有效性,因此仅公钥不会提供此信息。公钥用于加密/数字签名验证,但对于PKI的其余部分,您需要证书。实际上,验证证书中写的发行人不会给您任何保证。你需要检查:
答案 1 :(得分:1)
公钥对象没有说明是谁生成的。它只包含使用公钥加密(或验证)所需的内容。
如果您从证书(java.security.cert.X509Certificate)获得了公钥,那么您可以使用getIssuerX500Principal()从中获取证书颁发者。
证书是身份与公钥的绑定。作为其中的一部分,证书表明它是由谁发出的。因此,您可以验证您是否信任该发行人,从而确认是否具有约束力。
此外,密钥对很可能不是证书颁发者生成。该主题刚向发行人证明它确实拥有相关的私钥。