我已经在互联网上搜索过,但没有找到关于如何使用TIdHTTP连接HTTPS时验证证书的解决方案或方法。
我已经连接了一个IdSSLIOHandlerSocketOpenSSL组件作为IOHandler,并设置了SSLModes等参数,但当我浏览https://s3.amazonaws.com时,它无法验证证书。
OpenSSL(Indy)给出以下错误信息:
“Error connecting with SSL. SSL3_GET_SERVER_CERTIFICATE: Certificate verify failed”
OpenSSL库已成功加载(通过WhichFailedToLoad进行检查)。OnStatusInfo事件写入以下内容:
SSL status: "before/connect initialization"
SSL status: "before/connect initialization"
SSL status: "SSLv2/v3 write client hello A"
SSL status: "SSLv3 read server hello A"
SSL status: "SSLv3 read server certificate B"
SSL status: "SSLv3 read server certificate B"
SSL status: "SSLv3 read server certificate B"
而在OnVerifyPeer中,AOk = False。
我该如何使其正确验证证书?发生了什么?
谢谢阅读, Adrian
我已经连接了一个IdSSLIOHandlerSocketOpenSSL组件作为IOHandler,并设置了SSLModes等参数,但当我浏览https://s3.amazonaws.com时,它无法验证证书。
OpenSSL(Indy)给出以下错误信息:
“Error connecting with SSL. SSL3_GET_SERVER_CERTIFICATE: Certificate verify failed”
OpenSSL库已成功加载(通过WhichFailedToLoad进行检查)。OnStatusInfo事件写入以下内容:
SSL status: "before/connect initialization"
SSL status: "before/connect initialization"
SSL status: "SSLv2/v3 write client hello A"
SSL status: "SSLv3 read server hello A"
SSL status: "SSLv3 read server certificate B"
SSL status: "SSLv3 read server certificate B"
SSL status: "SSLv3 read server certificate B"
而在OnVerifyPeer中,AOk = False。
我该如何使其正确验证证书?发生了什么?
谢谢阅读, Adrian