javax.security.cert.X509Certificate vs java.security.cert.X509Certificate?

你有没有发现标题的差异? (对我来说,花了一些时间)

所以我使用了与java.security.cert.X509Certificate连接的bouncy castle来创建证书。 现在我正在寻找一种从原始字节创建java.security.cert.X509Certificate的方法。 我没有任何方法在java.security.cert.X509Certificate执行此操作,但javax.security.cert.X509Certificate有一个(getInstance静态方法)。

问题是我无法将javax.security.cert.X509Certificatejava.security.cert.X509Certificate

关于如何做的任何想法,将原始字节转换为java.security.cert.X509Certificate

另外,一个抽象类和另一个类之间的区别是什么? 为什么java有两个具有不同function?

不推荐使用javax版本。 使用CertificateFactory从原始字节生成证书。 javadocs中有一个例子。

这件事发生在我身上,因为我使用j2se但导入了javax类。 J2SE和J2EE中都存在Certificate和X509Certficate类。

J2SE中的导入 – 不是javax.security …

 import java.security.KeyStore; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; 

import java.security.cert.Certificate;

不是这些。

 import javax.security.cert.X509Certificate;