Libcurl: could not parse PKCS12 file (решено)

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Admin »

Написал скрипт:

Код: Выделить всё

curl.exe --request POST --url "https://api.sberbank.ru:8443/prod/tokens/v2/oauth" ^
--header "authorization: Basic xxxxxxxx==" ^
--header "accept: application/json" ^
--header "content-type: application/x-www-form-urlencoded" ^
--header "rquid: xxxxxxxx" ^
--header "x-ibm-client-id: xxxxxxxx" ^
--data "grant_type=client_credentials&scope=https://api.sberbank.ru/qr/order.create" ^
--cert "xxxxxxxx.p12:xxxxxxxx" ^
--cert-type "P12"
Curl версия 7.78.0, результат:

Код: Выделить всё

curl: (60) SSL certificate problem: self signed certificate in certificate chain
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
Программа с libcurl той же версии нормально с сертификатом работает. Тут не знаю почему так пишет

Curl версия 7.79.0, результат:

Код: Выделить всё

curl: (58) could not parse PKCS12 file, check password, OpenSSL error error:0308010C:digital envelope routines::unsupport
ed
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Дед Пахом »

Admin писал(а): 03 Июнь 2022, 10:49 Curl версия 7.79.0, результат:
И у всех последующих версий тот же результат, верно?
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Admin »

Дед Пахом писал(а): 03 Июнь 2022, 11:04 И у всех последующих версий тот же результат, верно?
Так точно!

curl-7.79.0-win32-mingw
curl-7.79.1-win32-mingw
curl-7.80.0-win32-mingw
curl-7.83.0-win32-mingw
curl-7.83.1_3-win32-mingw
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Дед Пахом »

Сообщил о проблеме: https://github.com/curl/curl/issues/8966.
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Дед Пахом »

Сам Daniel Stenberg добавил к тикету метку "TLS", думаю, это хороший знак.
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Admin »

Спасибо.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Дед Пахом »

Вышла версия 7.84.0, залил на FTP (/libcurl_bin/curl-7.84.0-win32-mingw/). curl -V говорит, что использует версию OpenSSL 3.0.4 (была 3.0.2).
Новых комментариев про наш баг репорт на GitHub нет.
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Admin »

Ничего не изменилось

Код: Выделить всё

[libcurl] TEXT: could not parse PKCS12 file, check password, OpenSSL error error:0308010C:digital envelope routines::unsupported
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

Libcurl: could not parse PKCS12 file

Сообщение Ал »

:nono:
может обновления для windows какие не установлены, с других раб.мест так же не работает?
- у меня не так давно ругалась в одной чужой софтине и что-то про openssl всё время, но оказалась причина в другом моменте и вылечилось установкой "ручками" kb4474419...
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Дед Пахом »

Admin писал(а): 29 Июнь 2022, 1:49 Ничего не изменилось
Добавил эту информацию. Может, и в OpenSSL написать?
С уважением, ДП
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Дед Пахом »

Вот что пишут:
This is likely because OpenSSL 3 needs legacy algorithms explicitly loaded. AFAIK there is no way to do that in curl. You would have to change your OpenSSL config if it uses one (I think some can be built without) or look at the stackoverflow link and there is a way to convert your pkcs file.

https://stackoverflow.com/questions/725 ... nsupported
https://wiki.openssl.org/index.php/Open ... #Providers
Из ответа на StackOverflow я понял, что новый OpenSSL не поддерживает старые/небезопасные алгоритмы типа PKCS12, но есть возможность перегнать старый PKCS12 в новый.
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Admin »

Вопрос закрыт!
Этот вариант помог:

Код: Выделить всё

# 1.x.x
openssl pkcs12 -in old -nodes | openssl pkcs12 -export -descert -out new
Запускал на Debian, SSL 1
После конвертации все работает на libcurl 7.84.0.0
После отпуска все перегоню...
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Дед Пахом »

Закрыл тикет на GitHub.
С уважением, ДП
Закрыто