我有一个只有SSL作为defaut公共接口的后端服务器。此服务器在443上侦听证书,密钥和ca文件,ssl验证客户端设置为true。SSL客户端验证失败
在客户端,我在单个ca.pem文件中将两个CA文件组合在一起(中间CA,根CA)的客户端证书,密钥和ca文件。当我在我的后端服务器上进行curl请求时,它工作正常。我还使用gnutls-serv和openssl s_server测试了服务器/客户端证书和密钥,以确保所有内容都是有效的。
但是,当我创建Apigee(客户端证书和密钥文件[PEM格式])和trustore(ca.pem文件)的密钥库中,有一个错误: - target.name fsbca测试
- 属性 - 表达( “fsbca测试” 等于target.name)
- ExpressionResult真正
- 树TARGET_fsbca测试
- 错误的服务暂时不可用 - error.cause一般SSLEngine的问题 - error.cause.cause一般SSLEngine问题 - error.class com.apigee.messaging.adaptors.http.HttpAdaptorException - 状态TARGET_REQ_FLOW - 类型ErrorPoint
如果我把SSL验证客户端设置为false在我的后端,然后请求被Apigee正确转移,我得到响应。
如果我在目标端点属性中将IgnoreValidationErrors设置为true,那么请求将被转移到我的后端服务器,但是我可以在服务器日志中看到错误:“客户端在读取c时未发送必需的SSL证书...” 。
任何关于我在做什么错的想法?
附加的轨道:它可能是Apigee方面的一个问题,由2个证书组成的CA文件(它可能会忽略在.pem中找到的尾随证书)。如果想测试pkcs12和jks,但是我没有将它们上传到Apigee(API文档页面只描述了.pem,JAR和cert动作)。我使用pkcs12 keystore和jks trustore编写了一个小型Java客户端,并且它可以在本地工作站上正常工作。
非常感谢您提供任何有助于我的信息。
问候
神父
你可以添加你的TargetEndpoint/SSLInfo配置吗? –