Ключевое слово в защите информации
ключевое слово
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline yurm  
#1 Оставлено : 23 мая 2025 г. 9:55:52(UTC)
yurm

Статус: Новичок

Группы: Участники
Зарегистрирован: 23.05.2025(UTC)
Сообщений: 2
Российская Федерация

Добрый день.
На нашем предприятии используется прокси с авторизацией negotiate. КриптоПро 5.0.1.13. При проверке подписи, cptools правильно определяет прокси, но авторизацию не использует. Вроде в составе дистрибутива есть curl, но попытки подсунуть .curlrc не помогли. Можно как-то заставить его авторизоваться текущим пользователем или хотя бы каким-то фиксированным, но только для cptools?
Offline Зубов Иван  
#2 Оставлено : 23 мая 2025 г. 20:42:30(UTC)
Зубов Иван

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 02.11.2017(UTC)
Сообщений: 73
Мужчина

Сказал «Спасибо»: 14 раз
Поблагодарили: 32 раз в 29 постах
Здравствуйте.

Отвечу по порядку.

Правка .curlrc не поможет и не должна была помочь. Следует разделять две сущности: утилиту curl и библиотеку libcurl. Утилита использует библиотеку, поэтому если что-то влияет на библиотеку, то оно как правило влияет и на утилиту. Обратное неверно: в утилите есть масса своих наворотов, и насколько я нагуглил, это как раз такой случай. Файл .curlrc – это про утилиту, а не про библиотеку. Один пользователь в апстриме curl попросил сделать подобное для библиотеки, но сейчас это не сделано.
Техническую поддержку оказываем тут
Наша база знаний
Offline Зубов Иван  
#3 Оставлено : 23 мая 2025 г. 20:55:17(UTC)
Зубов Иван

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 02.11.2017(UTC)
Сообщений: 73
Мужчина

Сказал «Спасибо»: 14 раз
Поблагодарили: 32 раз в 29 постах
Наш код под капотом использует libcurl для многих сетевых обменов, в т.ч. вероятнее всего для тех, на которые вы хотели повлиять -- на сетевые обмены при построении и проверке цепочек сертификатов. Я же верно предположил?

На libcurl можно повлиять, выставив переменные окружения (http_proxy, https_proxy и подобное). Там можно указать адрес прокси, порт, имя пользователя и пароль. Это ведь именно те параметры, которые вас интересовали?

Это можно сделать в консоли перед запуском cptools или другой утилиты, возможно можно как-то вписать в ярлык для запуска cptools. Не очень удобно, действительно. Но дело в том, что обычно пользователям если и нужно задавать прокси, то сразу для всего профиля пользователя ОС. А если так, то выставление этих переменных можно вписать в системный файл инициализации сессии, как графической, так и консольной, чтобы у пользователя всегда была задана переменная с параметрами про прокси. И прокси будет прозрачно работать в CSP, curl и много где ещё -- на *nix в эти переменные окружения много кто смотрит. Если мне память не изменяет, я на Ubuntu даже где-то в графических настройках системы видел возможность задания глобального прокси для пользователя -- полагаю, именно через это оно и сделано.

Или вы хотите только для CSP задать опцию? Замечу, что не только для cptools -- cptools сам по себе вообще не делает сетевых обменов, насколько я понимаю. Сетевые обмены делают низлежащие библиотеки CSP. У вас есть потребность именно на них повлиять, чтобы у них прокси был задан где-то, а у всех остальных программ нет?
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Зубов Иван за этот пост.
Санчир Момолдаев оставлено 22.07.2025(UTC)
Offline Зубов Иван  
#4 Оставлено : 22 июля 2025 г. 18:33:06(UTC)
Зубов Иван

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 02.11.2017(UTC)
Сообщений: 73
Мужчина

Сказал «Спасибо»: 14 раз
Поблагодарили: 32 раз в 29 постах
В будущих версиях добавим параметры в конфиг:

Цитата:
[Parameters]
# строка с параметрами прокси
CurlProxy="abc.ru:3128"
# битовая маска настроек авторизации на прокси
CurlProxyAuth=127


Задать можно через cpconfig:
/opt/cprocsp/sbin/amd64/cpconfig -ini '\config\Parameters' -add string CurlProxy 'a'
/opt/cprocsp/sbin/amd64/cpconfig -ini '\config\Parameters' -add long CurlProxyAuth 1

Подробнее о параметрах:
https://curl.se/libcurl/c/CURLOPT_PROXY.html
https://curl.se/libcurl/c/CURLOPT_PROXYAUTH.html
https://curl.se/libcurl/c/CURLOPT_HTTPAUTH.html

Значения констант:
Цитата:
#define CURLAUTH_NONE ((unsigned long)0)
#define CURLAUTH_BASIC (((unsigned long)1)<<0)
#define CURLAUTH_DIGEST (((unsigned long)1)<<1)
#define CURLAUTH_NEGOTIATE (((unsigned long)1)<<2)
/* Deprecated since the advent of CURLAUTH_NEGOTIATE */
#define CURLAUTH_GSSNEGOTIATE CURLAUTH_NEGOTIATE
/* Used for CURLOPT_SOCKS5_AUTH to stay terminologically correct */
#define CURLAUTH_GSSAPI CURLAUTH_NEGOTIATE
#define CURLAUTH_NTLM (((unsigned long)1)<<3)
#define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4)
#ifndef CURL_NO_OLDIES
/* functionality removed since 8.8.0 */
#define CURLAUTH_NTLM_WB (((unsigned long)1)<<5)
#endif
#define CURLAUTH_BEARER (((unsigned long)1)<<6)
#define CURLAUTH_AWS_SIGV4 (((unsigned long)1)<<7)
#define CURLAUTH_ONLY (((unsigned long)1)<<31)
#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE)
#define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE))


Тикет для отслеживания: CPCSP-14702. Спасибо за жалобу!
Техническую поддержку оказываем тут
Наша база знаний
thanks 2 пользователей поблагодарили Зубов Иван за этот пост.
nickm оставлено 22.07.2025(UTC), Санчир Момолдаев оставлено 22.07.2025(UTC)
Offline Sid111  
#5 Оставлено : 3 сентября 2025 г. 12:15:28(UTC)
Sid111

Статус: Новичок

Группы: Участники
Зарегистрирован: 03.09.2025(UTC)
Сообщений: 1
Российская Федерация

похожая ситуация, КриптоПро последняя из доступных

curl -v http:// ... .cer --proxy-negotiate --proxy-user :

* Uses proxy env variable no_proxy = ...
* Connected to ... port ... (#0)

* Proxy auth using Negotiate with user ''
> GET http://... .cer HTTP/1.1
> Host: ....
> Proxy-Authorization: Negotiate YIIKb...
> User-Agent: curl/7.88.1
> Accept: */*
> Proxy-Connection: Keep-Alive
>
< HTTP/1.1 200 OK
< Proxy-Authentication-Info: Negotiate oYGz...
....
< Content-Type: application/x-x509-ca-cert
...
Warning: Binary output can mess up your terminal. Use "--output -" to tell
Warning: curl to output it to your terminal anyway, or consider "--output
Warning: <FILE>" to save to a file.
* Failure writing output to destination
* Closing connection 0

/opt/cprocsp/bin/amd64/curl -V
curl 8.11.1-DEV (x86_64-pc-linux-gnu) libcurl/8.11.1-DEV Schannel zlib/1.2.13

/opt/cprocsp/bin/amd64/curl -v http:// ... .cer --proxy-negotiate --proxy-user :
* Uses proxy env variable no_proxy == ...
* Uses proxy env variable http_proxy == ...
* Host .... was resolved.
* IPv6: (none)
* IPv4: ...
* Trying ...
* Connected to ... port ...
* using HTTP/1.x
> GET http:// ... .cer HTTP/1.1
> Host: gisca.ru
> User-Agent: curl/8.11.1-DEV
> Accept: */*
> Proxy-Connection: Keep-Alive
>
* Request completely sent off
< HTTP/1.1 407 Proxy Authentication Required
< Proxy-Authenticate: Negotiate
< Content-Length: 29
<
* Connection #0 to host ... left intact

в итоге

chrome[ ]: <capi20>LogUrlRetrieverError!() UrlRetriever failed (CURLcode: 407 URL: http:// .... .cer ).
chrome[]: <capi20>CryptRetrieveObjectByUrlAImpl!DownloadFromNetwork failed: LastError = 0x80092004, Url = http://... .cer, ObjectOid = 0x1, Flags = 0x00000005, Timeout = 15000, Object = 0x701af43fa398, AuxInfo = 0x701af43fa3c0



Offline GIT_180  
#6 Оставлено : 16 января 2026 г. 9:39:23(UTC)
GIT_180

Статус: Новичок

Группы: Участники
Зарегистрирован: 15.01.2026(UTC)
Сообщений: 3
Российская Федерация

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 1 раз в 1 постах
Автор: Зубов Иван Перейти к цитате
В будущих версиях добавим параметры в конфиг:

Задать можно через cpconfig:
/opt/cprocsp/sbin/amd64/cpconfig -ini '\config\Parameters' -add string CurlProxy 'a'
/opt/cprocsp/sbin/amd64/cpconfig -ini '\config\Parameters' -add long CurlProxyAuth 1

Подробнее о параметрах:
https://curl.se/libcurl/c/CURLOPT_PROXY.html
https://curl.se/libcurl/c/CURLOPT_PROXYAUTH.html
https://curl.se/libcurl/c/CURLOPT_HTTPAUTH.html

Значения констант:
Цитата:
#define CURLAUTH_NONE ((unsigned long)0)
#define CURLAUTH_BASIC (((unsigned long)1)<<0)
#define CURLAUTH_DIGEST (((unsigned long)1)<<1)
#define CURLAUTH_NEGOTIATE (((unsigned long)1)<<2)
/* Deprecated since the advent of CURLAUTH_NEGOTIATE */
#define CURLAUTH_GSSNEGOTIATE CURLAUTH_NEGOTIATE
/* Used for CURLOPT_SOCKS5_AUTH to stay terminologically correct */
#define CURLAUTH_GSSAPI CURLAUTH_NEGOTIATE
#define CURLAUTH_NTLM (((unsigned long)1)<<3)
#define CURLAUTH_DIGEST_IE (((unsigned long)1)<<4)
#ifndef CURL_NO_OLDIES
/* functionality removed since 8.8.0 */
#define CURLAUTH_NTLM_WB (((unsigned long)1)<<5)
#endif
#define CURLAUTH_BEARER (((unsigned long)1)<<6)
#define CURLAUTH_AWS_SIGV4 (((unsigned long)1)<<7)
#define CURLAUTH_ONLY (((unsigned long)1)<<31)
#define CURLAUTH_ANY (~CURLAUTH_DIGEST_IE)
#define CURLAUTH_ANYSAFE (~(CURLAUTH_BASIC|CURLAUTH_DIGEST_IE))




Скажите, пожалуйста, когда планируется реализовать автоматическую проверку цепочки сертификатов в cptools?
Сейчас скачиваю crl вручную и добавляю в хранилище пользователя.

Отредактировано пользователем 16 января 2026 г. 11:25:13(UTC)  | Причина: curl работает с прокси по kerberos. Проверено в версии 5.0.13000 и 5.0.13600

Offline Русев Андрей  
#7 Оставлено : 16 января 2026 г. 10:56:36(UTC)
Русев Андрей

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,643

Сказал(а) «Спасибо»: 49 раз
Поблагодарили: 704 раз в 486 постах
Автор: GIT_180 Перейти к цитате
Скажите, пожалуйста, когда планируется реализовать использование параметров прокси в конфиге и авторизация на прокси по kerberos?

Поддержка появилась в 2025-08-03 КриптоПро CSP 5.0.13600 Wyvern:
Цитата:
  • capilite: В секции Parameters конфигурационного файла можно задать CURLOPT_PROXY через параметр CurlProxy и CURLOPT_PROXYAUTH через параметр CurlProxyAuth (CPCSP-14702).
  • curl: Добавлена поддержка Kerberos аутентификации на Linux (CPCSP-15282).


  • Официальная техподдержка. Официальная база знаний.
    thanks 2 пользователей поблагодарили Русев Андрей за этот пост.
    nickm оставлено 16.01.2026(UTC), GIT_180 оставлено 16.01.2026(UTC)
    Offline Зубов Иван  
    #8 Оставлено : 16 января 2026 г. 13:59:22(UTC)
    Зубов Иван

    Статус: Сотрудник

    Группы: Участники
    Зарегистрирован: 02.11.2017(UTC)
    Сообщений: 73
    Мужчина

    Сказал «Спасибо»: 14 раз
    Поблагодарили: 32 раз в 29 постах
    Скажите, пожалуйста, когда планируется реализовать автоматическую проверку цепочки сертификатов в cptools?
    Сейчас скачиваю crl вручную и добавляю в хранилище пользователя.

    В cptools можно выбрать сертификат, нажать "Свойства сертификата", и в появившемся окне будет информация в т.ч. о цепочке сертификата, которая как раз будет построена и проверена на отзыв. При отсутствии нужных CRL в хранилищах и в кэше они будут скачаны из сети и помещены в кэш, который будет использован (если это не будет явно запрещено в коде) при последующих проверках цепочки. Возможно, это то, что вам нужно.
    Техническую поддержку оказываем тут
    Наша база знаний
    thanks 1 пользователь поблагодарил Зубов Иван за этот пост.
    GIT_180 оставлено 16.01.2026(UTC)
    Offline Михаил Балыков  
    #9 Оставлено : 18 мая 2026 г. 23:39:33(UTC)
    Михаил Балыков

    Статус: Новичок

    Группы: Участники
    Зарегистрирован: 01.11.2019(UTC)
    Сообщений: 2

    Автор: Русев Андрей Перейти к цитате
    Автор: GIT_180 Перейти к цитате
    Скажите, пожалуйста, когда планируется реализовать использование параметров прокси в конфиге и авторизация на прокси по kerberos?

    Поддержка появилась в 2025-08-03 КриптоПро CSP 5.0.13600 Wyvern:
    Цитата:
  • capilite: В секции Parameters конфигурационного файла можно задать CURLOPT_PROXY через параметр CurlProxy и CURLOPT_PROXYAUTH через параметр CurlProxyAuth (CPCSP-14702).
  • curl: Добавлена поддержка Kerberos аутентификации на Linux (CPCSP-15282).




  • Добрый день! Скажите, пожалуйста, возможна ли реализация автоматического поиска прокси через wpad, а не задание в явном виде?
    Offline Русев Андрей  
    #10 Оставлено : 19 мая 2026 г. 12:05:50(UTC)
    Русев Андрей

    Статус: Сотрудник

    Группы: Администраторы, Участники
    Зарегистрирован: 16.04.2008(UTC)
    Сообщений: 1,643

    Сказал(а) «Спасибо»: 49 раз
    Поблагодарили: 704 раз в 486 постах
    Автор: Михаил Балыков Перейти к цитате
    Скажите, пожалуйста, возможна ли реализация автоматического поиска прокси через wpad, а не задание в явном виде?
    Здравствуйте. На текущий момент curl не поддерживает WPAD / PAC:
    Цитата:
    Since curl has no JavaScript capabilities, curl does not support PAC files. If your browser and network use PAC files, the easiest route forward is usually to read the PAC file manually and figure out the proxy you need to specify to run curl successfully.
    Тем не менее в списке рассылки curl 10 лет назад обсуждалось, что на Linux можно настроить глобальный autoproxy: документация Clear Linux.

    Официальная техподдержка. Официальная база знаний.
    RSS Лента  Atom Лента
    Пользователи, просматривающие эту тему
    Guest
    2 Страницы12>
    Быстрый переход  
    Вы не можете создавать новые темы в этом форуме.
    Вы не можете отвечать в этом форуме.
    Вы не можете удалять Ваши сообщения в этом форуме.
    Вы не можете редактировать Ваши сообщения в этом форуме.
    Вы не можете создавать опросы в этом форуме.
    Вы не можете голосовать в этом форуме.