首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >API代理SSL协助

API代理SSL协助
EN

Stack Overflow用户
提问于 2014-01-20 20:08:31
回答 1查看 737关注 0票数 1

我收到了以下问题。任何帮助都将不胜感激!

我需要做的是配置SSL,以便根据基本的受信任根(通常由OS和/或Java提供)验证目标端点的SSL证书。没有任何文档可以告诉我如何打开SSL证书验证,或者如果我添加了一个TrustStore,如果它将保证SSL证书是根据它进行验证的。我看到的唯一相关教程是SSL客户端Auth,我们没有使用它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-20 20:11:40

页面将解释后端SSL服务器证书的验证。请注意,该页记录了如何实现相互身份验证,其中网关将验证目标服务器的SSL证书(您想要的),并将证书作为标识发送到目标(您不想要)。

若要验证目标的证书,请创建信任存储库,并上载目标服务器信任链中的所有证书。文档只提到上传目标服务器的证书(如果目标服务器使用的是自签名证书),但如果使用的是非自签名证书,则需要上载整个证书信任链。创建并上载到信任库的步骤6显示在上面的页面上。

然后,您将希望目标端点配置如下所示:

代码语言:javascript
复制
<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模式可以找到这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21243174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档