curl + php + ssl + crt
От: youngVAN Украина http://young.org.ua
Дата: 26.05.03 16:11
Оценка:
Как подписать запрос отправляемый curl + php своим собственным crt-сертификатом?

26.05.03 20:21: Перенесено модератором из 'RSDN Desktop' — DI
--- Wake up, Neo. The Matrix has you
Re: curl + php + ssl + crt
От: andik  
Дата: 27.05.03 07:29
Оценка:
Здравствуйте, youngVAN, Вы писали:

VAN>Как подписать запрос отправляемый curl + php своим собственным crt-сертификатом?


может лучше посмотреть использование функции fsockopen

As of PHP 4.3.0, if you have compiled in OpenSSL support, you may prefix the hostname with either 'ssl://' or 'tls://' to use an SSL or TLS client connection over TCP/IP to connect to the remote host.

... << RSDN@Home 1.0 beta 7a >>
Re[2]: curl + php + ssl + crt
От: youngVAN Украина http://young.org.ua
Дата: 27.05.03 08:18
Оценка:
VAN>>Как подписать запрос отправляемый curl + php своим собственным crt-сертификатом?

A>может лучше посмотреть использование функции fsockopen



Если ты расскажешь как передать сертификат по сокету, я не против
--- Wake up, Neo. The Matrix has you
Re[3]: curl + php + ssl + crt
От: andik  
Дата: 27.05.03 08:46
Оценка:
Здравствуйте, youngVAN, Вы писали:

VAN>>Как подписать запрос отправляемый curl + php своим собственным crt-сертификатом?


A>может лучше посмотреть использование функции fsockopen


VAN>Если ты расскажешь как передать сертификат по сокету, я не против


Если у тебя PHP скомпилирован с OpenSSL, то код для пересылки данных по SSL будет такой
(код вырезан из работающего примера, немного подправленный. Хедеры какие отправлять на твое усмотрение)
  $IPAddress = gethostbyname($request_host);
  if ($use_ssl) {
     $host = fsockopen("ssl://" . $IPAddress, 443, $errno, $errstr);
  } 
  else {
     $host = fsockopen($IPAddress, 80, $errno, $errstr);
  }
  if (!$host) {
      print "Socket connect failed.\nReason: $request_host " . $errstr . "\n";
  }
  else {
     $Header_in = "GET /index.html HTTP/1.0\r\n";
     $Header_in .= "Host: $request_host\r\n";
     $Header_in .= "Cache-Control: no-cache\r\n";
     $Header_in .= "Connection: Close\r\n";
     $Header_in .= "\r\n";

     #Sending HTTP request
     fputs($host, $Header_in, strlen($Header_in));

     $out = "";                            
     while (!feof($host)) $out .= fread($host, 1024);

    #Closing socket
    fclose ($host);
    
    print $out;
  }


Конечно чтоб удаленный хост тоже работал по SSL
... << RSDN@Home 1.0 beta 7a >>
Re[3]: curl + php + ssl + crt
От: andik  
Дата: 27.05.03 10:17
Оценка:
Здравствуйте, youngVAN, Вы писали:

VAN>>Как подписать запрос отправляемый curl + php своим собственным crt-сертификатом?


Вообще-то передача через curl какго-то своего сертификата, будет выглядеть примерно так


$ch = curl_init();

curl_setopt ($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt ($ch, CURLOPT_SSLCERT, "("/src/openssl-0.9.6/demos/sign/key.pem");
curl_setopt ($ch, CURLOPT_SSLCERTPASSWD, "password");

curl_exec ($ch);

curl_close ($ch);


CURLOPT_SSLCERT: Pass a string containing the filename of PEM formatted certificate.
CURLOPT_SSLCERTPASSWD: Pass a string containing the password required to use the CURLOPT_SSLCERT certificate.


в хелпе по функции curl_setopt подробно расписаны все опции. Думаю вы это хочетели.
... << RSDN@Home 1.0 beta 7a >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.