我收到了以下问题。任何帮助都将不胜感激!
我需要做的是配置SSL,以便根据基本的受信任根(通常由OS和/或Java提供)验证目标端点的SSL证书。没有任何文档可以告诉我如何打开SSL证书验证,或者如果我添加了一个TrustStore,如果它将保证SSL证书是根据它进行验证的。我看到的唯一相关教程是SSL客户端Auth,我们没有使用它。
发布于 2014-01-20 20:11:40
此页面将解释后端SSL服务器证书的验证。请注意,该页记录了如何实现相互身份验证,其中网关将验证目标服务器的SSL证书(您想要的),并将证书作为标识发送到目标(您不想要)。
若要验证目标的证书,请创建信任存储库,并上载目标服务器信任链中的所有证书。文档只提到上传目标服务器的证书(如果目标服务器使用的是自签名证书),但如果使用的是非自签名证书,则需要上载整个证书信任链。创建并上载到信任库的步骤6显示在上面的页面上。
然后,您将希望目标端点配置如下所示:
<TargetEndpoint name="default>
<HTTPTargetConnection>
<SSLInfo>
<Enabled>true</Enabled>
<ClientAuthEnabled>false</ClientAuthEnabled>
<TrustStore>myTruststore</TrustStore>
<IgnoreValidationErrors>false</IgnoreValidationErrors>
</SSLInfo>
<URL>https://myservice.com</URL>
</HTTPTargetConnection>
</TargetEndpoint>ClientAuthEnabled=false表示网关不会向目标发送证书。
如果无法使用信任存储中的证书验证目标返回的证书,IgnoreValidationErrors=false将导致连接中止。IgnoreValidationErrors=false是默认的,所以您可以省略它,它将按需要工作。但是,如果您在与目标服务器通信时遇到问题,则在测试期间将忽略标志设置为true可能很有用,以便允许通信,即使证书验证失败(只是为了隔离问题)。在生产中一定要把它设为假。
SSLInfo元素的xsd模式可以找到这里。
https://stackoverflow.com/questions/21243174
复制相似问题