Java 无法将sun.security.x509.X509CertImpl强制转换为iaik.x509.X509Certificate
我从JKS密钥库提取了一个证书,并试图将其强制转换为iaik.x509.X509Certificate。无法将sun.security.x509.X509CertImpl转换为iaik.x509.X509Certificate。 是否有方法手动将其写入iaik.x509.x509证书? 代码片段-Java 无法将sun.security.x509.X509CertImpl强制转换为iaik.x509.X509Certificate,java,x509certificate,keystore,entrust,iaik-jce,Java,X509certificate,Keystore,Entrust,Iaik Jce,我从JKS密钥库提取了一个证书,并试图将其强制转换为iaik.x509.X509Certificate。无法将sun.security.x509.X509CertImpl转换为iaik.x509.X509Certificate。 是否有方法手动将其写入iaik.x509.x509证书? 代码片段- KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType()); FileInputStre
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
FileInputStream in = new FileInputStream(keystorePath);
char[] keyPasswordChars = keyPassword == null ? new char[0] : keyPassword.toCharArray();
try {
trustStore.load(in, keyPasswordChars);
} finally {
in.close();
}
Certificate cert = trustStore.getCertificate(alias);
if (cert != null) {
iaik.x509.X509Certificate x509 = (iaik.x509.X509Certificate) cert;
return x509;
}
iaik.x509.x509证书来自委托-enttoolkit.jar为什么?您不应该直接使用这两个类中的任何一个,而且您肯定永远不会通过Java
keystore
API直接从Java密钥库文件获得IAIK证书对象。您应该使用java.security.cert.X509Certificate
或者甚至可能使用java.security.cert.Certificate
,无论密钥库
API实际返回什么。正如user207421指出的,您是否出于任何特定原因需要iaik证书对象?是,需要iaik对象,因为Trust toolkit有一个CertVerifier类,该类只接受iaik.X509证书。我的证书已使用java.security.cert.certificate保存到密钥库中,但现在必须将iaik.x509.X509Certificate传递给CertVerifier方法。我将探讨如何将证书保存到密钥库中,作为iaik.x509.X509Certificate。