我创建了一个小型的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”。互联网上有一些带有自定义处理程序的指南,但是由于证书始终为空,因此这些指南不起作用。
答案 0 :(得分:0)
设置require=true
。 (如果要使Gateway API URL MTLS受保护,则使用该配置)
对于您的用例,请遵循此文档。
https://docs.wso2.com/display/AM260/Mutual+SSL+between+API+Gateway+and+Backend