通过java读取PKCS7和.p12文件证书信息(subjectDN,vaildstartfrom,ValildTo ..)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过java读取PKCS7和.p12文件证书信息(subjectDN,vaildstartfrom,ValildTo ..)相关的知识,希望对你有一定的参考价值。

我正在尝试使用java实现数字证书有效性实用程序。如果.cert,.cer中的证书无法从.p7b和.p12证书格式读取证书信息,我可以读取证书信息(subjectDN,Issure info,validitity..etc)。我已经使用BouncyCastle安全提供程序来读取.p7b和.p12证书内容但是无法使用该安全提供程序可能是我在此丢失。我指的是在线资源,对此有所了解,但没有得到这方面的指导。请你有人给出建议。

答案

我建议如果您正在寻找p12证书的有效性,可以按如下方式进行:

try {
        Security.addProvider(new BouncyCastleProvider());
        KeyStore keyStore = KeyStore.getInstance("pkcs12");
        InputStream input = new FileInputStream("pathToYourP12");
        keyStore.load(input, "password");
        certFromKeyStore = (X509Certificate)keyStore.getCertificate("keyStoreAllias");
        certFromKeyStore.checkValidity();
}
catch(Exception e)
{
// catch exception like if no valid p12 existing at the location, invalid password, or any other exception should get catch properly.
}

以上是关于通过java读取PKCS7和.p12文件证书信息(subjectDN,vaildstartfrom,ValildTo ..)的主要内容,如果未能解决你的问题,请参考以下文章

PKI公钥基础设施

读取pkcs12证书信息

从 php 中的 PKCS7 签名中提取证书

Python:使用 pyOpenSSL.crypto 读取 pkcs12 证书

如何用Java读取使用证书

使用 OpenSSL 从 SMIME 消息(pkcs7 签名)中提取公共证书