У меня есть сайт, на который я отправляю сообщение, которое в настоящее время поддерживает TLS v1.1 и TLS 1.2. Они скоро разрешат только соединения TLS ver 1.2. По этой причине я обновил Delphi 5 до Indy 10.Indy 10 и sslvTLSv1_2
В настоящее время я создаю свои компоненты в коде, и все работает отлично работает 3 темы, в то время:
HTTp := TIdHttp.Create(nil);
HTTP.OnSelectAuthorization := HTTPSelectAuthorization;
HTTP.HTTPOptions := [hoInProcessAuth,hoForceEncodeParams,hoKeepOrigProtocol];
HTTP.OnStatus := HTTPStatus;
HTTP.OnWorkEnd := HTTPWorkEnd;
HTTP.Request.ContentType := 'application/x-www-form-urlencoded';
HTTP.ProxyParams.ProxyPort := ProxyPort;
HTTP.ProxyParams.ProxyUsername := ProxyUserName;
HTTP.ProxyParams.ProxyPassword := ProxyPassword;
HTTP.ProxyParams.BasicAuthentication := ProxyBasicAuth;
end;
If UseSSL and (SSL = nil) then
Begin
SSL := TIDSSLIOHandlerSocketOpenSSL.Create(nil);
SSL.SSLOptions.Mode := sslmClient;
SSL.OnGetPassword := SSLGetPassword;
SSL.SSLOptions.Method := sslvTLSv1_2;
HTTP.IOHandler := SSL;
end;
Есть ли событие, которое я хотел бы сказать мне, что именно TLS версии я ток фактически соединяясь с при отправив сообщение? Я не хочу, чтобы это было неожиданностью, когда они, наконец, перестали принимать соединения TLS v1.1.
Спасибо.
ли sslvTLSv1_2 позволяют v1.1 и 1,2 , или только 1,2? Разумеется, я бы поискал HTTP-сервер в Интернете, который позволяет только 1.2 и тестировать его. – mjn
@mjn 'sslvTLSv1_2' представляет только 1.2. Если вы хотите поддерживать как 1.1, так и 1.2, вам нужно использовать свойство 'SSLOptions.SSLVersions' вместо свойства' SSLOptions.Method'. Это позволит вам одновременно включать несколько версий, поэтому OpenSSL может выполнять согласование версий для использования самой доступной версии. –
@RemyLabeau, вы говорите, что если я использую «SSL.SSLOptions.Method: = sslvTLSv1_2», чтобы назначить SSL, если этот сервер не поддерживает TLS v1.2, я получаю сообщение об ошибке, и Indy не будет автоматически пытаться переключиться к TLSv1_1? Если это так, мне не нужно проверять статус, правильно? –