Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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/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
IIS-调用Java的WCF 4.0(无法为SSL/TLS建立安全通道)_Wcf_Ssl_Iis 7 - Fatal编程技术网

IIS-调用Java的WCF 4.0(无法为SSL/TLS建立安全通道)

IIS-调用Java的WCF 4.0(无法为SSL/TLS建立安全通道),wcf,ssl,iis-7,Wcf,Ssl,Iis 7,我的WCF服务在尝试与JavaWeb服务对话时遇到了一点问题 我有一个ASP.NETMVC前端,它通过HTTP与WCF服务进行通信。然后,WCF服务利用证书的相互身份验证通过HTTPS与JAVA web服务进行通信。当前的问题是,当WCF服务尝试调用JAVA后端时,我遇到以下错误: Could not establish secure channel for SSL/TLS 在Java方面,我运行JBOSS,SSL3和TLS密码仅用于SSL。我在这方面的错误是: 21:49:48,701 IN

我的WCF服务在尝试与JavaWeb服务对话时遇到了一点问题

我有一个ASP.NETMVC前端,它通过HTTP与WCF服务进行通信。然后,WCF服务利用证书的相互身份验证通过HTTPS与JAVA web服务进行通信。当前的问题是,当WCF服务尝试调用JAVA后端时,我遇到以下错误:

Could not establish secure channel for SSL/TLS
在Java方面,我运行JBOSS,SSL3和TLS密码仅用于SSL。我在这方面的错误是:

21:49:48,701 INFO  [STDOUT] http-0.0.0.0-8543-2, WRITE: TLSv1 Handshake, length = 1514
21:49:49,499 INFO  [STDOUT] http-0.0.0.0-8543-2, received EOFException: error
21:49:49,499 INFO  [STDOUT] http-0.0.0.0-8543-2, handling exception:   javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
21:49:49,507 INFO  [STDOUT] http-0.0.0.0-8543-2, SEND TLSv1 ALERT:  fatal, description = handshake_failure
21:49:49,507 INFO  [STDOUT] http-0.0.0.0-8543-2, WRITE: TLSv1 Alert, length = 2
21:49:49,507 INFO  [STDOUT] http-0.0.0.0-8543-2, called closeSocket()
21:49:49,508 INFO  [STDOUT] http-0.0.0.0-8543-2, called close()
当我使用证书的相互认证时,我的第一个调用端口是坏证书。因此,我打开了服务wsdl页面(还需要认证证书),一切正常。我的证书很好,值得信赖

然后我开始想,也许证书没有被放在服务电话上。因此,我创建了一个控制台应用程序,它使用相同的证书调用Java服务(通过配置文件中的端点行为进行查找)。瞧,这工作正常,服务响应数据显示在屏幕上

因此,我认为IIS中有某种东西正在阻止SSL通道被打开,而这正是我真正需要一些帮助的地方

我的IIS是在Windows Server 2008 R2上运行的7.0版。该服务正在.Net 4上运行。 (我应该指出的一点是,我的consle应用程序运行的是.Net v3.5而不是v4。)

我已经涉猎了一些SCHANNEL设置,但不知道哪些设置应该启用,哪些应该禁用。 目前我有:

TLS 1.0/Server/Enabled = 1
SSL 3.0/Server/Enabled = 1
SSL 2.0/Server/Enabled = 1
PCT 1.0/Server/Enabled = 1
我还有:

SSL 2.0/Client/DisabledByDefault = 0
有人知道从哪里开始吗

提前感谢,, 尼克

[更新]

我现在在Windows错误日志中收到以下错误:

A fatal error occurred when attempting to access the SSL client credential private key. 
The error code returned from the cryptographic module is 0x8009030d.
The internal error state is 10003.

…但我不确定能否解决它。从这张照片上看,认证书是可以拿到的。它就是无法获取密码。

[回答]

事实证明,证书上的特权并没有为我的IIS\U IUSRS帐户设置

当我设置这些时,一切正常