Статус: Активный участник
Группы: Участники
Зарегистрирован: 18.02.2013(UTC) Сообщений: 33 Сказал(а) «Спасибо»: 6 раз Поблагодарили: 1 раз в 1 постах
|
Опытным путем было установленно, что thumbprint это SHA1 Hash. :) А как поставить все сертификаты в хранилище компьютера? У меня в папке /var/opt/cprocsp/keys только пользовательские папки. Да кстати большое спасибо, curl работает! По поводу Автор: Татьяна зачем вам LD_PRELOAD и подмена? Есть два простых способа использования библиотеки: 1. в тексте вашей программы открыть библиотеку при помощи dlopen, заполнить таблицу функций функциями из библиотеки (curl_global_init, curl_global_cleanup, curl_easy_init, curl_easy_cleanup, curl_easy_getinfo, curl_easy_setopt, curl_easy_perform, curl_formadd, curl_formfree, curl_slist_free_all, curl_slist_append), использовать эти функции. 2. слинковаться сразу с нашей библиотекой (в опциях линкера указать -L/opt/cprocsp/lib/<архитектура>/ -lcpcurl)
это все конечно можно, но сейчас у меня была задача, чтобы это все работало в не кастомизированной сборке php, позже, возможно я вернусь к вопросу, чтобы создать патчь и протолкнуть его в апстрим. Если интерсно вот пример на PHP для включение в ваше SDK Код:$ch = curl_init($address);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'CERT_SHA1_HASH_PROP_ID:CERT_SYSTEM_STORE_CURRENT_USER:MY');
//curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'CERT_SHA1_HASH_PROP_ID:CERT_SYSTEM_STORE_LOCAL_MACHINE:MY');
curl_setopt($ch, CURLOPT_SSLCERT, '53be6850031bf03bff056fd5215a46c07b2248d6');
if(isset($proxy)) curl_setopt($ch, CURLOPT_PROXY, $proxy);
$response = curl_exec($ch);
echo 'Error code: ' . curl_errno ($ch)."\n";
echo 'Curl error: ' . curl_error($ch)."\n";
Отредактировано пользователем 14 марта 2013 г. 16:33:34(UTC)
| Причина: Не указана
|