Авторизация на сайте при помощи сертификата

У меня есть пользовательский сертификат. sert.cer. Мне нужно авторизоваться на сайте и скачать файлы. я его при помощи операции openssl x509 -inform der -in sert.cer -out certificate.pem преобразовал в .pem (в примерах везде pem поключают). так же у меня есть корневой сертификат D:\br.so-ups.ru(GOST-2012).cer. Но при запросе Get zHTTP.Get('https://br.so-ups.ru:444/webapi/public/ssl/LoginByCert.aspx');

Вылетает ошибка

Project LisTLoad.exe raised exception class EIdOSSLLoadingCertError with message 'Could not load certificate. error:0609E09C:digital envelope routines:PKEY_SET_TYPE:unsupported algorithm'.

  zHandler := TIdSSLIOHandlerSocketOpenSSL.Create(aHTTP);

  zHandler.SSLOptions.Method := sslvSSLv23;
  zHandler.SSLOptions.SSLVersions := [sslvSSLv2, sslvSSLv3, sslvTLSv1, sslvTLSv1_1, sslvTLSv1_2];
  zHandler.SSLOptions.CertFile := 'D:\certificate.pem';
  zHandler.SSLOptions.KeyFile := 'D:\certificate.pem';
  zHandler.SSLOptions.RootCertFile := 'D:\br.so-ups.ru(GOST-2012).cer';
  zHandler.SSLOptions.Mode := sslmClient;
  with aHTTP do
  begin
    Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
    Request.CustomHeaders.AddValue('Accept', 'text/html,application/xhtml+xml,application/xml');
    Request.CustomHeaders.AddValue('User-Agent', 'Mozilla/5.0 (Windows NT 6.3; WOW64;Trident/7.0 rv:11.0) like Gecko');
    Request.CustomHeaders.AddValue('Connection', 'Keep-Alive');
    Request.CustomHeaders.AddValue('DNT', '1');
    Request.CustomHeaders.AddValue('Referer', 'https://br.so-ups.ru/signin');
    Request.CustomHeaders.AddValue('Host', 'https://br.so-ups.ru');
    Request.BasicAuthentication := False;

    CookieManager := IdCookie1;
    AllowCookies := True;
    HandleRedirects := True;
    IOHandler := zHandler;
    if CheckBox2.Checked = True then
    begin
      ProxyParams.ProxyPort := proxy_port;
      ProxyParams.ProxyServer := proxy_server;
      ProxyParams.ProxyUsername := proxy_login;
      ProxyParams.ProxyPassword := proxy_password;
    end;
    ReadTimeout := 100000000;
  end;

В браузере авторизация через пользовательский сертификат проходит нормалотно


Ответы (0 шт):