繁体   English   中英

如何在Java中将受密码保护的KeyStore文件添加到zip中

[英]How to add KeyStore file protected with password to zip in java

我创建了受密码保护的KeyStore文件

CertificateFactorycertFactory = CertificateFactory.getInstance("X.509");
InputStream in = new ByteArrayInputStream(certyfikat);
X509Certificate cert = (X509Certificate)  
certFactory.generateCertificate(in);
KeyStore ks = KeyStore.getInstance("PKCS12");
ks.load(null,null);
ks.setCertificateEntry("alias", cert);
FileOutputStream fos = new FileOutputStream("test.pfx");
ks.store(fos, "yourPassword".toCharArray());

这是向KeyStore添加密码保护的正确方法吗?

我想在zip文件中返回它。 我尝试了ZipOutputStream和ZipEntry,但是使用ZipOutputStream.write()只能处理byte []。

ByteArrayOutputStream baos = new ByteArrayOutputStream();
ZipOutputStream zos = new ZipOutputStream(baos);
ZipEntry entry = new ZipEntry("cert.pfx");
zos.putNextEntry(entry);
zos.write(ks???);

如何将KeyStore转换为byte []?

还有其他方法可以使用KeyStore创建zip吗?

也许应该以其他方式而不是使用KeyStore类创建.pfx文件?

使用ByteArrayOutputStream代替FileOutputStream应该可以。

更换

FileOutputStream fos = new FileOutputStream("test.pfx");
ks.store(fos, "yourPassword".toCharArray());

ByteArrayOutputStream bos = new ByteArrayOutputStream();
ks.store(bos, "yourPassword".toCharArray());
byte keystore[] = bos.toByteArray();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM