Web Application Testing with CryptoPro Sign
CryptoPro, КриптоПро
Docker
Автор этой полезной заметки: @sorokinpf github: https://github.com/sorokinpf
Заметка если вдруг кому то придется тестить сайт на отечественной крипте.
Можно больше не использовать КриптоПро (у неё лицензия и т.д.). Добрый человек собрал openssl с gost engine, а также с этим делом пересобрал stunnel и запихнул все в докер: https://github.com/gosha20777/openssl-gost и на dockerhub: https://hub.docker.com/repository/docker/gosha20777/openssl-gost.
Можно сделать конфигурацию stunnel вот так:
И Dockerfile:
Далее на 6666 можем заходить по http.
Если есть клиентский серт, то тоже не беда.
Конфиг:
Если закрытый ключ к серту передали в контейнере CryptoPro, то его надо конвертнуть с помощью вот этой хрени: https://github.com/kulikan/privkey. Там лежит архивчик с экзешником, который работает, если лень разбираться с компиляцией.
Внутри директории Test1.000 лежит следующее:
Для удобства использования, можно обернуть это Docker-контейнер в nginx: https://z3f1r.gitbook.io/admin/tools/servers/web/nginx
Так же, если на стороне клиента происходит проверка подписи, то для корректной работы с ней, нужен браузер, собранный с поддрежкой отечественного шифрования — Chrome Gost — https://github.com/deemru/chromium-gost/.
Proxy Settings
Другой вариант:
Настраиваем виндовую виртуалку, там устанавливаем и настраиваем CryptoPro CSP по инструкции: https://www.cryptopro.ru/products/cades/plugin
На этой машине устанавливаем любой прокси, который использует WinAPI (Burp и Gost не подходят), например, Fiddler.
На хостовой машине подрубаем Burp и делаем upstream на виндовую машину. Fiddler уже сам обернет трафик над CryptoPro CSP.
Что делать с контейнером ключа Test2021.000 (взято с форума разработчика):
Сертификат УЦ надо добавить в корневые доверенные сертификаты
Last updated