java-如何以编程方式访问窗口和mac可信证书存储
作者:互联网
使用keytool实用工具创建一个自签名的Java密钥库和证书文件.
能够通过使用mmc.exe命令转到证书控制台,将证书添加到Windows信任存储中.
但是无论如何,都可以通过编程将证书添加到Windows信任存储中.并且对于MAC系统也需要相同的东西.
感谢任何建议.
解决方法:
以下是Windows / MAC在其信任库中添加证书的代码段.
窗口:
KeyStore root = KeyStore.getInstance("Windows-ROOT","SunMSCAPI");
root.load(null,null);
/* certificate must be DER-encoded */
FileInputStream in = new FileInputStream("yourcertificate.cer");
X509Certificate cacert = (X509Certificate)CertificateFactory.getInstance("X.509").generateCertificate(in);
root.setCertificateEntry("certificatealiasname", cacert);
在Windows中,它已成功将证书添加到信任存储中,但是由于没有管理员特权,某些系统无法正常工作.因此,在这些计算机上,如果以管理员身份登录或为用户提供一些管理员特权,它将可以正常工作.
苹果电脑:
KeyStore root = KeyStore.getInstance("KeychainStore", "Apple");
root.load(null);
/* certificate must be DER-encoded */
FileInputStream in = new FileInputStream("yourcertificate.cer");
X509Certificate cacert = (X509Certificate)CertificateFactory.getInstance("X.509").generateCertificate(in);
root.setCertificateEntry("certificatealiasname", cacert);
root.store(null, null);
它能够在钥匙串中成功添加证书,但不信任证书.因此需要转到KeyChain Access并手动信任证书.
标签:x509certificate,java 来源: https://codeday.me/bug/20191027/1948356.html