我正在尝试为 aws api 网关和我的服务器之间的通信实现相互身份验证。我想使用亚马逊提供的客户端证书进行身份验证。我知道我的服务器配置正确,因为之前我使用的是 lambda 函数并且相互身份验证正在工作。
我已导出 (.PEM) 证书并将其添加到信任库中。我已将我的 Jetty 服务器配置为使用该信任库进行身份验证。我已将客户端身份验证设置为:需要。我知道我的服务器设置正确,因为它正在使用我自己实现的相互 SSL。我所做的只是更改信任库。当我测试我的方法网关时返回 200: { "message": "Unknown endpoint error."}
这是服务器日志文件的摘录。服务器端握手似乎已完成,但客户端证书出现错误。
pConnection@3a0a2e84{FILLING} 服务器端握手完成 2015-09-28 13:04:29,856 调试 [qtp1980278840-19] oejiChannelEndPoint - 刷新 45 SelectChannelEndPoint@2c05eeb2{ec2-xx-xxx-xxx-x.compute-1.amazonaws .com/5x.xxx.xxx.x:43942<->4000,Open,in,out,-,-,0/200000,SslConnection}{io=0,kio=0,kro=1} 2015-09- 28 13:04:29,856 调试 [qtp1980278840-19] oejisSslConnection - SslConnection@50e2de43{NOT_HANDSHAKING,eio=0/0,di=-1} -> HttpConnection@3a0a2e84{FILLING} 冲洗退出,消耗 0 2015-09-28 13 :04:29,856 DEBUG [qtp1980278840-19] oejisSslConnection - SslConnection@50e2de43{NOT_HANDSHAKING,eio=0/-1,di=-1} -> HttpConnection@3a0a2e84{FILLING} 解开状态 = BUFFER_UNDERFLOW HandshakeStatus = NOT_HANDSHAKING