【发布时间】:2012-11-14 16:31:48
【问题描述】:
我已经搜索了互联网,但没有找到关于如何在使用 TIdHTTP 通过 HTTPS 连接时验证证书的解决方案或方法。
我已将 IdSSLIOHandlerSocketOpenSSL 组件连接为 IOHandler,设置 SSLModes 等,但是当我浏览到 https://s3.amazonaws.com 时,它无法验证证书。
OpenSSL (Indy) 提供
“使用 SSL 连接时出错。SSL3_GET_SERVER_CERTIFICATE:证书验证失败”
OpenSSL 库已成功加载(通过 WhichFailedToLoad 进行检查)。 OnStatusInfo 事件写入以下内容:
SSL 状态:“之前/连接初始化”
SSL 状态:“之前/连接初始化”
SSL 状态:“SSLv2/v3 写入客户端 hello A”
SSL 状态:“SSLv3 读取服务器 hello A”
SSL 状态:“SSLv3 读取服务器证书 B”
SSL 状态:“SSLv3 读取服务器证书 B”
SSL 状态:“SSLv3 读取服务器证书 B”
而 OnVerifyPeer,AOk = False。
我怎样才能让它正确验证。怎么回事?
感谢阅读, 阿德里安
【问题讨论】: