以编程方式将.cer证书导入密钥库

以编程方式将.cer证书导入密钥库,第1张

以编程方式将.cer证书导入密钥

答案:

InputStream certIn = ClassLoader.class.getResourceAsStream("/package/myCert.cer");final char sep = File.separatorChar;File dir = new File(System.getProperty("java.home") + sep + "lib" + sep + "security");File file = new File(dir, "cacerts");InputStream localCertIn = new FileInputStream(file);KeyStore keystore = KeyStore.getInstance(KeyStore.getDefaultType());keystore.load(localCertIn, passphrase);if (keystore.containsAlias("myAlias")) {    certIn.close();    localCertIn.close();    return;}localCertIn.close();BufferedInputStream bis = new BufferedInputStream(certIn);CertificateFactory cf = CertificateFactory.getInstance("X.509");while (bis.available() > 0) {    Certificate cert = cf.generateCertificate(bis);    keystore.setCertificateEntry("myAlias", cert);}certIn.close();OutputStream out = new FileOutputStream(file);keystore.store(out, passphrase);out.close();

对于Java Web Start,请不要使用ClassLoader,而应使用Class本身:

InputStream certIn = Certificates.class.getResourceAsStream("/package/myCert.cer");


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5500890.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-13

发表评论

登录后才能评论

评论列表(0条)

保存