Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.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
Java 使用HTTPS和客户端证书身份验证连接到IIS_Java_C#_Perl_Iis_Ssl Certificate - Fatal编程技术网

Java 使用HTTPS和客户端证书身份验证连接到IIS

Java 使用HTTPS和客户端证书身份验证连接到IIS,java,c#,perl,iis,ssl-certificate,Java,C#,Perl,Iis,Ssl Certificate,我真的很难解决以下问题。 必须通过https连接到具有激活的客户端证书身份验证的IIS 就目前而言,我认为这几乎是一个微软的故事,因此它有点难以与其他微软技术 如果我在.NETC中这样做,一切都很好 HttpWebRequest req = (HttpWebRequest( WebRequest.Create ("https://abc.abc"); req.ClientCertificates.Add (new X509Certificate2 ("cert.pfx", "pwd")); 但

我真的很难解决以下问题。 必须通过https连接到具有激活的客户端证书身份验证的IIS

就目前而言,我认为这几乎是一个微软的故事,因此它有点难以与其他微软技术

如果我在.NETC中这样做,一切都很好

HttpWebRequest req = (HttpWebRequest( WebRequest.Create ("https://abc.abc");
req.ClientCertificates.Add (new X509Certificate2 ("cert.pfx", "pwd"));
但我在Perl或Java中没有找到任何粘合剂。刚刚找到username/passwort身份验证和SSL证书,但我认为这是另外一回事

这里我得到一个HTTP403

尝试了很多代码(从axis到JavaSSL上下文),但都没有正常工作

但是必须有一种方法,因为我也可以用浏览器(在浏览器存储中添加证书,它就可以工作了)

有什么帮助吗? 谢谢


克里斯:问题是关键。Useragent还需要一个密钥文件。但我需要添加的不是PFX中的所有内容,而是所有额外内容。如果我做了,一切都好。
无论如何谢谢你

在Perl中,您只需将SSL_cert_文件和SSL_key_文件提供给SSL选项,如果服务器请求证书,它将使用它作为客户端证书cert和key。在其他语言中可能是类似的。我试过了。但它不起作用。获取http 500错误。但是它是内部的(想想它来自LWP::Useragent)。不知道为什么如果我使用ssl_证书文件,它无法连接,如果没有ssl_证书文件,它可以连接(但得到403)。请提供您在LWP和LWP版本中使用的代码。确保至少使用LWP版本,并且使用默认的SSL后端IO::Socket::SSL。请提供您得到的错误的详细信息。