java - 读取pkcs12证书信息

标签 java bouncycastle jce pkcs#12

我在读取证书信息时遇到问题。我想以编程方式在 Android 中使用 java 和 bouncycaSTLe 库阅读完整信息。现在,我只是在控制台中使用 keytool 命令:

>keytool -list -keystore 1.p12 -storetype pkcs12 -v

有什么建议吗?

最佳答案

我找到了解决方案,主要思路是将证书转换为 x509,然后获取 SubjectDN 并解析值。

public class TestClass {
    public static void main(String[] args) throws Exception {

        KeyStore p12 = KeyStore.getInstance("pkcs12");
        p12.load(new FileInputStream("pkcs.p12"), "password".toCharArray());
        Enumeration<String> e = p12.aliases();
        while (e.hasMoreElements()) {
            String alias = e.nextElement();
            X509Certificate c = (X509Certificate) p12.getCertificate(alias);
            Principal subject = c.getSubjectDN();
            String subjectArray[] = subject.toString().split(",");
            for (String s : subjectArray) {
                String[] str = s.trim().split("=");
                String key = str[0];
                String value = str[1];
                System.out.println(key + " - " + value);
            }
        }
    }
}

关于java - 读取pkcs12证书信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16970302/

相关文章:

java.sql.SQLException : No current row in the ResultSet 异常

java - 如何验证由 ECDSA [r, s] 值组成的 openssl 中的签名?

Java:扫描文件夹中特定文件的有效方法

java:如何只选择一个jtable中的一个单元格而不是整行

c# - BouncyCaSTLe Open PGP - 流 47 中的未知对象

c# - 在 C# 中允许 CX509PrivateKeyClass 的 KeyProtection

java - java中的密码填充字符串是什么

java - 如何将 Bouncy CaSTLe 轻量级 API 与 AES 和 PBE 结合使用

jce - nCipher HSM 重定向 JCE key

java - 适用于 Java 应用程序的 Heroku New Relic Add-on 无法打开 newrelic.jar