Отправка по SSL, Curl

Romain

Новичок
Отправка по SSL, Curl

Имеется свой key (под windows расширение cer)
Стоит дома denwer (возможно нужно поставить Openssl)

Задание: написать или помочь написать скрипт авторизации на удаленном сервере. (
Проблема, что авторизация идет на локальную сеть и привязан к IP.
Стоимость $60 даже за советы, приведшие к положительному результату).

Знаю PHP, но поверхостно, т.к. . Тем не менее писал сайты, а не просто верстал.
 

nirex

Новичок
Re: Отправка по SSL, Curl

На счет твоего сертификата так вот ответ:

How can I convert a certificate from der format (.cer) to PEM format? Some institutions that supply certificates will send them to you in der format instead of PEM format. You can use the openssl command line tool to convert from one to the other: openssl x509 -in file.cer -inform d -out file.pem
Для курла содержимое пем файла должно быть примерное таким:
-----BEGIN CERTIFICATE-----
MIICoTCCAgoCAUUwDQYJKoZIhvcNAQEEBQAwgaQxCzAJBgNVBAYTAlJVMQwwCgYD
-----END CERTIFICATE-----

-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,BAD9968972692C9D

DqcMvBR7c6podfhYPgPzLy+W4WrCR9pZZuSBxiuhIlOLWqFNeQfUZSJ7R4PeJrz+
-----END RSA PRIVATE KEY-----
Обращение к странице:
URL - адрес странички авторозации
FILE_PEM_FORMAT - полный путь к сертификату
PASSWORD - пароль сертификата (если был установлен)
PHP:
$ch = curl_init();
$url = 'URL';
curl_setopt( $ch, CURLOPT_URL, URL);
curl_setopt ( $ch , CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt ( $ch , CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt ( $ch , CURLOPT_SSLCERT, FILE_PEM_FORMAT );
curl_setopt ( $ch , CURLOPT_SSLCERTPASSWD, PASSWORD );
echo curl_exec($ch);
 

Romain

Новичок
Re: Re: Отправка по SSL, Curl

Автор оригинала: nirex
На счет твоего сертификата так вот ответ:


Для курла содержимое пем файла должно быть примерное таким:

Обращение к странице:
URL - адрес странички авторозации
FILE_PEM_FORMAT - полный путь к сертификату
PASSWORD - пароль сертификата (если был установлен)
PHP:
$ch = curl_init();
$url = 'URL';
curl_setopt( $ch, CURLOPT_URL, URL);
curl_setopt ( $ch , CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt ( $ch , CURLOPT_SSL_VERIFYHOST, 0 );
curl_setopt ( $ch , CURLOPT_SSLCERT, FILE_PEM_FORMAT );
curl_setopt ( $ch , CURLOPT_SSLCERTPASSWD, PASSWORD );
echo curl_exec($ch);
при конвертациии дает ошибки с openssl.exe и на сервере тоже самое.
У меня только получается private key - на дискете дали. Получится ли?! IE то принял и я захожу по защищенному соединению..

Может ли быть ошибка из-за того, что соединение допустимо только по 443 порту.
 

nirex

Новичок
надо понимать как устроен протокол https, его также называют http over ssl. Т.е. сначало устанавливается шифрованное соединение, как я понимаю у тебя клиентский сертификат, который тебе дает доступ к простому http , а в http все просто.
Порт по умолчанию у https 443, и ошибки в том, что тебе недоступен этот хост по 80 порту нет. Это только означает, что этот хост настроен только для протокола https.
На счет сертификата, читай личку.
http://ru.wikipedia.org/wiki/HTTPS
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
по private генерируешь публичный
денвер не нужен, хватит php.exe, php.ini и curl.dll
за сотню помогу

-~{}~ 06.11.09 21:53:

оказывается, ключа нет, а только сертификат

ключ ставится в IE специальной прогой, экспорт сертификата вместе с ключем не делается: IE пишет "экспорт прошел успешно", и просто не создает файл!

как достать ключ из IE - не знаю :(

можно ли из PHP управлять IE через COM чтобы достать страницу?
 

nirex

Новичок
попробуй другой браузер, или они не поддерживают такой формат ? :)
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
nirex
еще раз перечитай фразу "ключ ставится в IE специальной прогой"
и уточни, что именно ты предлагаешь пробовать другим браузером -
открывать ssl-соединение без приватного ключа?
сертификат подтвердит серверу, что твой ключ - именно твой, только его нет
 

nirex

Новичок
grigori
понятно, жесть а не секурность. даже интересно стало, а ключ в самой проге зашит или откуда-то дергается ?
 

grigori

( ͡° ͜ʖ ͡°)
Команда форума
вероятнее всего - да
прога долго пишет или читает дискету (образ пишет?), а потом ставит ключ в систему
 
Сверху