【发布时间】:2017-05-30 07:56:36
【问题描述】:
我有一个 https 肥皂,我想忽略证书验证。我已经通过OnBeforePost 事件进入THTTPRIO.HTTPWebNode:
procedure TMySOAP.OnBeforePost(const HTTPReqResp: THTTPReqResp; Data: Pointer);
var
aFlagsSize: DWord;
aFlags: DWord;
begin
aFlagsSize := SizeOf(aFlags);
// get security flags
if InternetQueryOption(Data, INTERNET_OPTION_SECURITY_FLAGS, @aFlags, aFlagsSize) then
begin
// add all flag for ignore validation
aFlags := aFlags or
SECURITY_FLAG_IGNORE_UNKNOWN_CA or
SECURITY_FLAG_IGNORE_REVOCATION or
SECURITY_FLAG_IGNORE_CERT_CN_INVALID or
SECURITY_FLAG_IGNORE_CERT_DATE_INVALID or
SECURITY_FLAG_IGNORE_WRONG_USAGE;
// set the new flags
InternetSetOption(Data, INTERNET_OPTION_SECURITY_FLAGS, @aFlags, aFlagsSize)
end;
end;
它有效.. 但我有第二个问题。我的客户在没有互联网的公司防火墙后面,每个对肥皂的请求都会丢失 15 秒,因为 Windows 尝试通过互联网验证证书路径,并且此操作的默认超时时间为 15 秒(请参阅https://technet.microsoft.com/en-us/library/cc771429(v=ws.11).aspx)。
是否有任何标志或sn-p用于在运行时设置,自定义检索超时设置?
【问题讨论】:
标签: web-services delphi ssl soap