Java 如何在从base64解码后返回锁定的密钥库实例?
我正在编写与密钥库和证书相关的JAVA项目。我写了一个方法来;提供证书集时生成动态密钥库,将密钥库编码为Base64编码字符串,将Base64字符串解码为PKCS12密钥库实例。 在生成密钥库时,我为它提供一个密码,如下所示Java 如何在从base64解码后返回锁定的密钥库实例?,java,base64,decode,encode,keystore,Java,Base64,Decode,Encode,Keystore,我正在编写与密钥库和证书相关的JAVA项目。我写了一个方法来;提供证书集时生成动态密钥库,将密钥库编码为Base64编码字符串,将Base64字符串解码为PKCS12密钥库实例。 在生成密钥库时,我为它提供一个密码,如下所示 Security.addProvider(new BouncyCastleProvider()); KeyStore keystore = KeyStore.getInstance("PKCS12"); keystore.load(null, null); keysto
Security.addProvider(new BouncyCastleProvider());
KeyStore keystore = KeyStore.getInstance("PKCS12");
keystore.load(null, null);
keystore.setCertificateEntry(aliasName1, certificate1);
keystore.setCertificateEntry(aliasName2, certificate2);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
char[] keystorePasswordAsCharArray = keystorePassword.toCharArray();
OutputStream outputStreamForEncode = Base64.getEncoder().wrap(byteArrayOutputStream);
keystore.store(outputStreamForEncode, keystorePasswordAsCharArray);
.
.
.
KeyStore outputKeystore = KeyStore.getInstance("PKCS12");
InputStream inputStream = new ByteArrayInputStream(base64EncodedKeystoreString.getBytes());
InputStream inputStreamForDecode = Base64.getDecoder().wrap(inputStream);
char[] keystorePasswordAsCharArray = keystorePassword.toCharArray();
outputKeystore.load(inputStreamForDecode, keystorePasswordAsCharArray);
在那之后,当解码时,我也提供一个密码给它,如下所示
Security.addProvider(new BouncyCastleProvider());
KeyStore keystore = KeyStore.getInstance("PKCS12");
keystore.load(null, null);
keystore.setCertificateEntry(aliasName1, certificate1);
keystore.setCertificateEntry(aliasName2, certificate2);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
char[] keystorePasswordAsCharArray = keystorePassword.toCharArray();
OutputStream outputStreamForEncode = Base64.getEncoder().wrap(byteArrayOutputStream);
keystore.store(outputStreamForEncode, keystorePasswordAsCharArray);
.
.
.
KeyStore outputKeystore = KeyStore.getInstance("PKCS12");
InputStream inputStream = new ByteArrayInputStream(base64EncodedKeystoreString.getBytes());
InputStream inputStreamForDecode = Base64.getDecoder().wrap(inputStream);
char[] keystorePasswordAsCharArray = keystorePassword.toCharArray();
outputKeystore.load(inputStreamForDecode, keystorePasswordAsCharArray);
然后输出密钥库实例被解锁,我从方法返回实例
但是我想返回锁定的密钥库实例。我该怎么做
- 已编辑
你能分享一个最小的、可重复的例子吗?以上三行代码很难理解您的问题。你能分享一个最小的,可重复的例子吗?以上三行代码很难理解您的问题。