Java 创建X509证书时BouncyCastleProvider中的NullPointerException

Java 创建X509证书时BouncyCastleProvider中的NullPointerException,java,certificate,x509certificate,bouncycastle,Java,Certificate,X509certificate,Bouncycastle,我正在从字节创建X509Certificate,但这会引发NullPointerException,在我的应用程序中,我正在执行两个方法步骤,第一步获取存储在DB中的字节中的签名数据,然后从DB中获取,两个都在一次操作中合并,在最后一行System.out.println中获取异常 我没有使用cert.getSignature,而是使用cert.getEncoded,这很好。我正要写这个。很好,你已经解决了。 public static void main(String[] args) thr

我正在从字节创建X509Certificate,但这会引发NullPointerException,在我的应用程序中,我正在执行两个方法步骤,第一步获取存储在DB中的字节中的签名数据,然后从DB中获取,两个都在一次操作中合并,在最后一行System.out.println中获取异常


我没有使用cert.getSignature,而是使用cert.getEncoded,这很好。

我正要写这个。很好,你已经解决了。
public static void main(String[] args)  throws Exception {
    File file = new File("C://connect.cer");
    InputStream input = new FileInputStream(file);
    Security.addProvider(new BouncyCastleProvider());
    CertificateFactory certFactory = CertificateFactory.getInstance("X.509", "BC");
    X509Certificate cert = (X509Certificate) certFactory.generateCertificate(input);
    byte[] certBytes = cert.getSignature();
    System.out.println("IssuerDN Name>>>>>>>>>>>>>>"+cert.getIssuerDN().getName()+">>>>>>>>>>>>>>");
    InputStream input2 = new ByteArrayInputStream(certBytes);
    CertificateFactory certFactory2 = CertificateFactory.getInstance("X.509", "BC");
    X509Certificate cert2 = (X509Certificate) certFactory2.generateCertificate(input2); 
    System.out.println("IssuerDN Name>>>>>>>>>>>>>>"+cert2.getIssuerDN().getName()+">>>>>>>>>>>>>>");
}