相关疑难解决方法(0)

如何设置Java VM以使用Mac OS X处理的根证书(truststore)

使用scribe OAuth库时出现以下异常.

Caused by: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
Run Code Online (Sandbox Code Playgroud)

基于一些谷歌搜索似乎我应该以某种方式设置JVM信任库.

为什么我需要这样做?如何指示Java VM使用os的默认信任库?(在我的情况下是Mac OS X).

java macos ssl-certificate truststore scribe

14
推荐指数
3
解决办法
1万
查看次数

(Java) 在 Mac OS X 上的“系统根目录”下以编程方式访问 SSL 证书

我正在编写一个 Java 应用程序,该应用程序使用远程 Https 站点进行 Rest Api 调用。远程站点由受信任的证书签名。它在 Windows 上运行良好,但是,由于 SSL 证书问题,它在 OS X 上运行有问题。

我做了一些挖掘,发现原因与我如何使用 getInstance 调用在代码中初始化 KeyStore 对象有关。它只从“系统”钥匙串中读取证书,而不是从“系统根”钥匙串中读取证书。下面是从密钥库中打印出所有证书的代码片段。

// In windows use "WINDOWS-ROOT"
KeyStore osTrustManager = KeyStore.getInstance("KeychainStore");
osTrustManager.load(null, null);

Enumeration<String> enumerator = osTrustManager.aliases();
while (enumerator.hasMoreElements()) {
    String alias = enumerator.nextElement();
    if (osTrustManager.isCertificateEntry(alias)) {
        m_logger.info(String.format("%s (certificate)\n", alias));
    }
}
Run Code Online (Sandbox Code Playgroud)

如何更改代码以实现这一目标?感谢有人可以插话。

这是来自 OS X 的“系统根”屏幕截图下的证书示例

java security macos digital-certificate x509certificate

6
推荐指数
1
解决办法
654
查看次数

如何在 Mac 上使用 Java 中的 ssl 证书

我发现了这个问题:Import Windows Certification to Java,它有 Windows 机器的答案。我一直无法找到-Djavax.net.ssl.trustStoreType=WINDOWS-ROOTMacOS 的等效项。

java macos ssl-certificate

1
推荐指数
1
解决办法
7813
查看次数