Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
默认情况下,自签名证书和CN中带有通配符的证书是否在Java中被阻止?_Java_Ssl_Https - Fatal编程技术网

默认情况下,自签名证书和CN中带有通配符的证书是否在Java中被阻止?

默认情况下,自签名证书和CN中带有通配符的证书是否在Java中被阻止?,java,ssl,https,Java,Ssl,Https,我正在构建一个JAX-WS客户端,它连接到一个服务器,该服务器使用CN中带有通配符的自签名证书。证书的主题如下所示: "CN=*.mylocation.mycompany.corp, O=MyCompany, C=MyCountry" 因为服务器端有自签名证书,所以我的JAX-WS客户机只能与接受所有证书的am显式信任管理器一起工作。如本文所述 我经常遇到诸如Sun的JSSE不支持通配符之类的语句,例如在对的回答中 我找不到oracle关于自签名/通配符证书被阻止或支持上述声明的任何官方文档

我正在构建一个JAX-WS客户端,它连接到一个服务器,该服务器使用CN中带有通配符的自签名证书。证书的主题如下所示:

"CN=*.mylocation.mycompany.corp, O=MyCompany, C=MyCountry"
因为服务器端有自签名证书,所以我的JAX-WS客户机只能与接受所有证书的am显式信任管理器一起工作。如本文所述

我经常遇到诸如Sun的JSSE不支持通配符之类的语句,例如在对的回答中

我找不到oracle关于自签名/通配符证书被阻止或支持上述声明的任何官方文档


这是真的吗?有关于这一点的官方文件吗?

似乎有两个答案在回答您的问题:


谢谢,我在代码中做了与这些问题的答案完全相同的事情。但我所要寻找的是oracle的某种官方文档,其中说自签名证书和通配符证书在Java中被deault阻止。关于自签名,不需要官方文档:Java验证证书,而自签名证书无法验证,因为它没有可信的颁发者此证书位于密钥存储区中。因此,自签名证书不会被阻止,只是验证失败。如果要在密钥存储中导入证书,它应该可以工作。即使在密钥存储中导入证书,您仍然需要以编程方式设置一个接受所有证书的显式信任管理器。我说的对吗?不,一旦您将证书导入到cacerts jre/lib/security/cacerts中,您就不需要通过编程设置信任管理器,但您必须设置指向主机的CN属性或添加SAN扩展以允许主机/IP,否则您将获得主机名验证异常。