编程语言
首页 > 编程语言> > java-如何以编程方式访问窗口和mac可信证书存储

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