我在解析 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/

10-11 22:34