如何在Java中为我的私钥创建证书?

时间:2019-11-12 11:47:34

标签: java encryption cryptography keystore

我正在一个使用混合方法对东西进行加密和解密的程序中,这是使用AES simmetrical和RSA asimmetrical密钥的。所有这些密钥都存储在KeyStore .jks文件中。

问题:尝试将私钥输入密钥库文件时,KeyStore Java类需要一个Certificate数组。例如,这段代码:

String alias = "sth";

Key myKey = generator.generateKeyPair().getPrivate();

char[] keyStorePass = {'1', '2', '3', '4'};

myKeyStore.setKeyEntry(alias, myKey, keyStorePass, null);

将引发异常,因为myKey是私钥,并且我不向setKeyEntry提供证书。

java.lang.IllegalArgumentException: Private key must be accompanied by certificate chain

现在,这里的真正问题是我不知道如何生成要提供给KeyStore类的证书。 Java文档告诉您需要提供一个Certificate []对象,但是Eclipse IDE告诉我不推荐使用Certificate类(IIRC意味着不再使用它)并且也不能实例化。那么,如何生成在整个程序中使用的证书?

0 个答案:

没有答案