【问题标题】:How to access the Java Certificate Store with Java?如何使用 Java 访问 Java 证书存储?
【发布时间】:2015-06-30 08:41:04
【问题描述】:

我发现 Java 有它自己的“证书存储”,它位于 lib 文件夹内安全文件夹中的一个文件中。

您可以从 Java 控制面板 -> 安全 -> 管理证书访问它。

但我想通过 Java 代码访问它们。有人有这方面的一些信息吗?证书如何存储在证书文件中?是否有 Java 内置方式或来自 Java / Oracle 的官方文档?

谢谢!

【问题讨论】:

    标签: java certificate certificate-store


    【解决方案1】:
    【解决方案2】:

    我们必须通过代码使用证书来对某些应用程序进行 API 调用。 由于某些原因,我们无法在代码容器上安装证书。 API 服务提供商为我们提供了 .cer 文件。Apache HTTP 客户端用于此目的

    首先创建一个基于文件的密钥库并将这个 .cer 文件加载到它上面

    keytool -import -alias joe -file <path>/file.cer -keystore <keystoreName> -storepass <password>
    

    然后将生成的keystore文件作为资源添加到应用程序中 并构建您的自定义 HTTPClient 以使用此密钥库

     import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
     import org.apache.http.conn.ssl.TrustSelfSignedStrategy;
     import org.apache.http.ssl.SSLContexts;
     import javax.net.ssl.SSLContext;
     import java.io.File;
     import org.apache.http.impl.client.CloseableHttpClient;
     import org.apache.http.impl.client.HttpClients;
    
                File file = new File(getClass().getClassLoader().getResource(<pathTokeystoreFile>).getFile());
                        SSLContext sslcontext = SSLContexts.custom()
    
                                .loadTrustMaterial(file, CERT_PASSWORD.toCharArray(),
                                        new TrustSelfSignedStrategy())
                                .build();
                        SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
                                sslcontext,
                                new String[]{"TLSv1", "SSLv3", "TLSv1.1", "TLSv1.2"},
                                null,
                                SSLConnectionSocketFactory.getDefaultHostnameVerifier());
    
    
                 CloseableHttpClient customClient; 
                customClient = HttpClients.custom()
                                .setSSLSocketFactory(sslConnectionSocketFactory)
                                .build();
                    }
    

    【讨论】:

      猜你喜欢
      • 2016-03-13
      • 2011-04-06
      • 1970-01-01
      • 2013-01-07
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多