【发布时间】:2014-02-24 15:50:02
【问题描述】:
我有一个仅使用 SSL 作为默认公共接口的后端服务器。此服务器在 443 上监听 cert、key 和 ca 文件,ssl verify client 设置为 true。
在客户端,我有客户端证书、密钥和一个由 2 个 CA 文件(中间 CA、根 CA)组成的 ca 文件,这些文件放在一个 ca.pem 文件中。当我在后端服务器上执行 curl 请求时,它工作正常。我还使用 gnutls-serv 和 openssl s_server 测试了服务器/客户端证书和密钥,以确保一切都有效。
但是当我在 Apigee(客户端证书和密钥文件 [pem 格式])和 trustore(ca.pem 文件)上创建密钥库时,出现错误:
- target.name fsbca-test
- 特性
- 表达式(“fsbca-test”等于 target.name)
- 表达式结果为真
- 树 TARGET_fsbca-test
- 错误服务暂时不可用
- error.cause 一般 SSLEngine 问题
- error.cause.cause 一般 SSLEngine 问题
- error.class com.apigee.messaging.adaptors.http.HttpAdaptorException
- 状态 TARGET_REQ_FLOW
- 输入错误点
如果我在后端将 SSL 验证客户端设置为 false,那么 Apigee 会正确转移请求并且我会收到响应。
如果我在目标端点属性中将 IgnoreValidationErrors 设置为 true,则请求将被转移到我的后端服务器,但我可以在服务器的日志中看到一个错误:“客户端在读取 c 时发送了不需要的 SSL 证书...”。
关于我正在做的事情可能有什么问题有什么想法吗?
附加轨道:这可能是 Apigee 方面的问题,CA 文件由 2 个证书组成(它可能会忽略 .pem 中的尾随证书)。如果想测试 pkcs12 和 jks 但我未能将它们上传到 Apigee(API 文档页面仅描述 .pem、JAR 和 cert 操作)。我用 pkcs12 密钥库和 jks trustore 编写了一个小型 Java 客户端,它在我的本地工作站上运行良好。
提前感谢您提供任何可以帮助我的信息。
问候
Fr
【问题讨论】:
-
你能添加你的 TargetEndpoint/SSLInfo 配置吗?
-
true true FsbcaKeystore FsbcaKey true FsbcaTruststore
标签: ssl keystore apigee truststore ca