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

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

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

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

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

Libcurl: could not parse PKCS12 file

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

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

Libcurl: could not parse PKCS12 file

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

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

Libcurl: could not parse PKCS12 file

Сообщение Admin »

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

Libcurl: could not parse PKCS12 file

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

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

Libcurl: could not parse PKCS12 file

Сообщение Admin »

Дед Пахом писал(а): 25 Апрель 2022, 15:31 А если неправильный пароль передать, та же ошибка?
При отсутствии пароля или неверном выдает:

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

[libcurl] TEXT: could not parse PKCS12 file, check password, OpenSSL error error:11800071:PKCS12 routines::mac verify failure
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Admin »

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

Libcurl: could not parse PKCS12 file

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

А curl.exe работает? Как-то так:

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

curl --key client.key --cert client.crt -X GET -v https://httpbin.org/get
Тут пример: https://stackoverflow.com/questions/334 ... -curl-call
То есть не сам PKCS12 передают, а сертификат и ключ.
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Admin »

Дед Пахом писал(а): 26 Апрель 2022, 13:10 То есть не сам PKCS12 передают, а сертификат и ключ.
В API сбера передается именно PKCS12. Ну и как утверждение - предыдущие версии то работают.
В общем, непонятно. Попробую распаковать PKCS12 и передать как в примере.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Admin »

Не смог распаковать сертификат через openssl. Мутные ошибки дает, собака. Забил, пока работает.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

Libcurl: could not parse PKCS12 file

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

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/
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение 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>
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Libcurl: could not parse PKCS12 file

Сообщение Admin »

Начало нормальное, сертификат подхватывается но на урле авторизации и дальнейших 403 в ответ.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Ал
✯ Ветеран ✯
Сообщения: 1011
Зарегистрирован: 08 Июль 2005, 6:48
Откуда: Россия

Libcurl: could not parse PKCS12 file

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

Admin писал(а): 28 Апрель 2022, 5:49 Начало нормальное, сертификат подхватывается но на урле авторизации и дальнейших 403 в ответ.
да, похоже "намудрили"...
Интересно - не проверял с рабочим вариантом, который "libcurl for Clarion v1.49 - работает", если посылать с неверным паролем или без пароля - как Дед выше предлагал, то возвращает одинаковое сообщение, что и когда пользуешься последней версией библиотеки?
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Libcurl: could not parse PKCS12 file

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

А если передать сертификат и ключ в libcurl v1.49, то сервер вернёт тот же результат 403?
С уважением, ДП
Закрыто