如何发送客户端证书到后端?

时间:2019-08-30 15:15:32

标签: wso2 wso2-am

我创建了一个小型的Spring Boot应用程序,其中包含一个由x509证书保护的REST端点。

使用Postman,我可以调用此REST端点。因此,我必须禁用“ SSL证书验证”并添加服务证书(主机,CRT文件,KEY文件和密码)。当然,主机是“ localhost”。

下一步,我想将WSO2 Api Manager放在邮递员和我的服务之间。

因此,我发布了API,并将服务的crt文件导入WSO2信任库。 另外,我在axis2.xml中设置了require。

现在,我调用在WSO2 API Store中配置的端点,并且在控制台中,我总是得到: [2019-08-30 17:15:06,941]错误-SourceHandler I / O错误:证书链为空 javax.net.ssl.SSLHandshakeException:证书链为空

更新: 我按照文档中的说明进行操作,但仍然无法正常工作。现在例外是“错误的证书”。

为避免造成误解,我概述一下: overview.png

这是我正在尝试的当前状态。 正如您在下面的部分中看到的那样,WSO2应该将客户端证书转发到受保护的后端。 如您所见,我有多个客户。

更新2

我认为用例的正确术语是所谓的“客户端与API网关之间的相互SSL”。互联网上有一些带有自定义处理程序的指南,但是由于证书始终为空,因此这些指南不起作用。

1 个答案:

答案 0 :(得分:0)

如果要使用MTLS对后端进行身份验证,则不需要

设置require=true。 (如果要使Gateway API URL MTLS受保护,则使用该配置)

对于您的用例,请遵循此文档。

https://docs.wso2.com/display/AM260/Mutual+SSL+between+API+Gateway+and+Backend