我在解析 X.509 证书 DN 时遇到问题。生成的 CSR 格式如下:
/C=/ST=/L=/O=/OU=/CN=
CA 签发的签名证书格式如下:
C=USA, ST=NJ, L=test, O=Google, OU=Adwords, CN=test
我需要一个 Java 实用程序类,最好是采用这些符号中的任何一种并将 DN 规范化为标准格式的标准,以便我可以比较 CSR 和 X.509 证书数据以确定 DN 是否匹配。
任何帮助,将不胜感激。
最佳答案
解析CA颁发的X509证书,可以使用如下java api:
java.security.cert.X509Certificate
代码片段:
extractX509DN(X509Certificate cert) {
String domainName;
domainName = cert.getSubjectDN().getName();
}
同样,您可以使用 api 中的其他方法来提取您需要的证书的详细信息。
要解析原始 CSR,您可以使用 BouncyCastle 提供的 api。我找到了一个方便的教程,您可能可以用它来理解解析 CSR 所涉及的方法:
Parse CSR Code Snippet
通过上面的链接,了解以下功能:
public CSRInfo parseCSR (String csr);
您的答案在上述代码片段的第 76 行。
关于java - X509证书CSR DN解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13255164/