jav*_*avi 24 java cryptography
我正在尝试使用以下方法获取证书的公钥:
FileInputStream fin = new FileInputStream("PathToCertificate");
CertificateFactory f = CertificateFactory.getInstance("X.509");
X509Certificate certificate = (X509Certificate)f.generateCertificate(fin);
PublicKey pk = certificate.getPublicKey();
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
Exception in thread "main" java.lang.ClassCastException: sun.security.x509.X509CertImpl cannot be cast to codec.x509.X509Certificate
at sergas_testcertificates.Main.main(Main.java:54)
Run Code Online (Sandbox Code Playgroud)
有谁知道这个错误是什么?
提前致谢
X509Certificate certificate = (X509Certificate)f.generateCertificate(fin);
PublicKey pk = certificate.getPublicKey();
Run Code Online (Sandbox Code Playgroud)
由于您只是拉公钥,因此可以使用证书类.工厂类将决定要返回的证书类型.
Certificate certificate = f.generateCertificate(fin);
PublicKey pk = certificate.getPublicKey();
Run Code Online (Sandbox Code Playgroud)
如果您因为其他原因需要进行转换,请检查您的导入并进行更改,X509Certificate应该来自javax.security.cert
| 归档时间: |
|
| 查看次数: |
34893 次 |
| 最近记录: |