Boz*_*zho 31
储存:
KeyStore ks = KeyStore.getInstance("JKS");
ks.setKeyEntry("keyAlias", key, passwordForKeyCharArray, certChain);
OutputStream writeStream = new FileOutputStream(filePathToStore);
ks.store(writeStream, keystorePasswordCharArray);
writeStream.close();
Run Code Online (Sandbox Code Playgroud)
注意,除非您通过,否则certChain可能为null PrivateKey
加载:
KeyStore ks = KeyStore.getInstance("JKS");
InputStream readStream = new FileInputStream(filePathToStore);
ks.load(readStream, keystorePasswordCharArray);
Key key = ks.getKey("keyAlias", passwordForKeyCharArray);
readStream.close();
Run Code Online (Sandbox Code Playgroud)
阅读javadocs
编辑:
请注意,如果要存储SecretKey或使用SunJCE提供程序的任何部分(Java Cryptography Extension),则需要将KeyStore类型设置为JCEKS.
KeyStore ks = KeyStore.getInstance("JCEKS");
Run Code Online (Sandbox Code Playgroud)
我很感激,如果你解释我怎么能用我的ssl/tls应用程序(sslserversocketfactory)我需要给它一个CA证书的路径
小智 6
我遇到了一个我不知道密钥别名的情况,但我知道密钥库中只有一个密钥.我使用以下代码加载密钥(在加载密钥库之后,如上所示):
Enumeration<String> aliases = keyStore.aliases();
String alias = aliases.nextElement();
KeyStore.PrivateKeyEntry keyEnt = (KeyStore.PrivateKeyEntry) keyStore.getEntry(alias,
new KeyStore.PasswordProtection(keystorePass.toCharArray()));
PrivateKey privateKey = keyEnt.getPrivateKey();
Run Code Online (Sandbox Code Playgroud)
我在博客上添加了一篇帖子,详细介绍了如何加载私钥,公钥以及如何使用它们.
| 归档时间: |
|
| 查看次数: |
54557 次 |
| 最近记录: |