Страница 1 из 4
Libcurl: could not parse PKCS12 file (решено)
Добавлено: 25 Апрель 2022, 3:51
Admin
Код: Выделить всё
[libcurl] TEXT: Trying 185.157.96.191:8443...
[libcurl] TEXT: Connected to api.sberbank.ru (185.157.96.191) port 8443 (#0)
[libcurl] TEXT: ALPN, offering h2
[libcurl] TEXT: ALPN, offering http/1.1
[libcurl] TEXT: could not parse PKCS12 file, check password, OpenSSL error error:0308010C:digital envelope routines::unsupported
libcurl for Clarion v1.49 - работает
libcurl for Clarion v1.52 - не работает
Что то с SSL намудрили вроде. не в курсе как обойти?
Libcurl: could not parse PKCS12 file
Добавлено: 25 Апрель 2022, 11:48
Дед Пахом
А если попробовать libcurl.dll v7.82.0?
Libcurl: could not parse PKCS12 file
Добавлено: 25 Апрель 2022, 14:44
Дед Пахом
Опять же, есть у файла PKCS12 пароль или нет?
Libcurl: could not parse PKCS12 file
Добавлено: 25 Апрель 2022, 15:28
Admin
Дед Пахом писал(а): 25 Апрель 2022, 11:48
А если попробовать libcurl.dll v7.82.0?
попробую завтра
Дед Пахом писал(а): 25 Апрель 2022, 14:44
Опять же, есть у файла PKCS12 пароль или нет?
есть конечно. передаю
Libcurl: could not parse PKCS12 file
Добавлено: 25 Апрель 2022, 15:31
Дед Пахом
Admin писал(а): 25 Апрель 2022, 15:28
есть конечно. передаю
А если неправильный пароль передать, та же ошибка?
Libcurl: could not parse PKCS12 file
Добавлено: 26 Апрель 2022, 3:22
Admin
Дед Пахом писал(а): 25 Апрель 2022, 15:31
А если неправильный пароль передать, та же ошибка?
При отсутствии пароля или неверном выдает:
Код: Выделить всё
[libcurl] TEXT: could not parse PKCS12 file, check password, OpenSSL error error:11800071:PKCS12 routines::mac verify failure
Libcurl: could not parse PKCS12 file
Добавлено: 26 Апрель 2022, 3:27
Admin
Дед Пахом писал(а): 25 Апрель 2022, 11:48
А если попробовать libcurl.dll v7.82.0?
Не помогло
Libcurl: could not parse PKCS12 file
Добавлено: 26 Апрель 2022, 13:10
Дед Пахом
А curl.exe работает? Как-то так:
Код: Выделить всё
curl --key client.key --cert client.crt -X GET -v https://httpbin.org/get
Тут пример:
https://stackoverflow.com/questions/334 ... -curl-call
То есть не сам PKCS12 передают, а сертификат и ключ.
Libcurl: could not parse PKCS12 file
Добавлено: 26 Апрель 2022, 16:41
Admin
Дед Пахом писал(а): 26 Апрель 2022, 13:10
То есть не сам PKCS12 передают, а сертификат и ключ.
В API сбера передается именно PKCS12. Ну и как утверждение - предыдущие версии то работают.
В общем, непонятно. Попробую распаковать PKCS12 и передать как в примере.
Libcurl: could not parse PKCS12 file
Добавлено: 27 Апрель 2022, 10:38
Admin
Не смог распаковать сертификат через openssl. Мутные ошибки дает, собака. Забил, пока работает.
Libcurl: could not parse PKCS12 file
Добавлено: 27 Апрель 2022, 11:44
Ал
Admin писал(а): 27 Апрель 2022, 10:38
Не смог распаковать сертификат через openssl. Мутные ошибки дает, собака. Забил, пока работает.
man curl and scroll down til you find the cert-type
-
https://stackoverflow.com/questions/322 ... ash-script
https://www.ssl.com/ru/%D0%BA%D0%B0%D0% ... E-openssl/
Libcurl: could not parse PKCS12 file
Добавлено: 28 Апрель 2022, 5:44
Admin
Распаковал сертификат с помощью openssl на linux сервере
Меняю код:
Код: Выделить всё
SELF.curl.SetOpt(CURLOPT_SSLCERT, 'file.crt.pem')
SELF.curl.SetOpt(CURLOPT_SSLCERTTYPE, 'PEM')
SELF.curl.SetOpt(CURLOPT_SSLKEY, 'file.key.pem')
SELF.curl.SetOpt(CURLOPT_SSLKEYTYPE, 'PEM')
В ответ прилетает:
Код: Выделить всё
[libcurl] DATA_IN: <html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx/1.20.1</center>
</body>
</html>
Libcurl: could not parse PKCS12 file
Добавлено: 28 Апрель 2022, 5:49
Admin
Начало нормальное, сертификат подхватывается но на урле авторизации и дальнейших 403 в ответ.
Libcurl: could not parse PKCS12 file
Добавлено: 28 Апрель 2022, 7:41
Ал
Admin писал(а): 28 Апрель 2022, 5:49
Начало нормальное, сертификат подхватывается но на урле авторизации и дальнейших 403 в ответ.
да, похоже "намудрили"...
Интересно - не проверял с рабочим вариантом, который "libcurl for Clarion v1.49 - работает", если посылать с неверным паролем или без пароля - как Дед выше предлагал, то возвращает одинаковое сообщение, что и когда пользуешься последней версией библиотеки?
Libcurl: could not parse PKCS12 file
Добавлено: 28 Апрель 2022, 12:02
Дед Пахом
А если передать сертификат и ключ в libcurl v1.49, то сервер вернёт тот же результат 403?