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

Certificate 通过java读取PKCS7和.p12文件证书信息(subjectDN、vaildstartfrom、ValildTo..),certificate,pkcs#7,java-security,Certificate,Pkcs#7,Java Security,我正在尝试使用java实现数字证书有效性实用程序。如果证书位于.cert、.cer中,我可以读取证书信息(subjectDN、Issure info、validity..等),但无法从.p7b和.p12证书格式读取证书信息。我已使用BouncyCastle安全提供程序读取.p7b和.p12证书内容,但无法使用该安全提供程序获取,可能是因为我在这方面丢失了。我参考了一些在线资源来了解这方面的信息,但没有得到相关的指导。您能给我一些建议吗。我建议,如果您正在寻找第12页的证书的有效性,可以按以下方式

我正在尝试使用java实现数字证书有效性实用程序。如果证书位于.cert、.cer中,我可以读取证书信息(subjectDN、Issure info、validity..等),但无法从.p7b和.p12证书格式读取证书信息。我已使用BouncyCastle安全提供程序读取.p7b和.p12证书内容,但无法使用该安全提供程序获取,可能是因为我在这方面丢失了。我参考了一些在线资源来了解这方面的信息,但没有得到相关的指导。您能给我一些建议吗。

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

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.
}