java - 使用 java 代码将 X.509 证书存储到 keystore 中

标签 java keystore keytool

我有一个使用 bouncycaSTLe 库创建的 X.509 证书。如何将其存储到 java keystore 中?

我尝试了这段代码

KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());

// get user password and file input stream
char[] password = getPassword();
java.io.FileInputStream fis =
    new java.io.FileInputStream("keyStoreName");
ks.load(fis, password);
fis.close();

我找到了这个代码here ,但是使用这种方式创建的 keystore 不适用于 keytool,它告诉我 keystore 已损坏。

最佳答案

使用KeyStore.setCertificateEntry(alias, cert)并为其指定一个您选择的别名。然后,使用 KeyStore.store(...) 保存 keystore (通常使用 FileOutputStream)。

关于java - 使用 java 代码将 X.509 证书存储到 keystore 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16219887/

相关文章:

java.security.NoSuchAlgorithmException : (algorithm: Default, 提供者 : SunJSSE, 类 : sun. security.ssl.SSLContextImpl$DefaultSSLContext)

java - eToken java key 工具证书

android - 无法使用 keytool 和 OpenSSL 进行 Facebook Android SDK 安装

Java代码签名证书问题

java - 在spring mvc中使用请求映射提交onchange

javax.net.ssl.SSLHandshakeException : Received fatal alert: unknown_ca

java - 将多种形式的零件转换为文件

java - 删除证书并在 keystore 中插入新证书并出现错误 SSL 版本不匹配

java setEnable(false) 不起作用

java - JSCH:SFTP。使用端口 21 在 session.connect() 挂起