Страница 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?