(2020-09-09 00:05:00 отредактировано microcat)

Сертификаты для двухфакторной аутентификации на сайте с USB-токеном

Вопрос по статье:
https://habr.com/ru/company/aktiv-company/blog/457886/
В статье используется Рутокен PKI.

Проблема 1: если делать как в статье, то такой сертификат является самоподписанным. А нужно, чтобы никаких перечеркнутых замочков и варнингов в браузере не было. На стороне пользователя делается только настройка в Firefox в "Security Devices" (добавляется новый модуль).

Проблема 2: если сделать CSR в соответствии с мануалом, то полученный CSR не принимается CA с формулировкой "Неверный формат сертификата". Вот команды:

# делаем настройки openssl.cnf по ману

# делаем
export OPENSSL_CONF=/path/to/openssl.cnf

# форматирование токена
./rtadmin -f -q -z /usr/lib64/librtpkcs11ecp.so -u 123456

# делаем ключ как в мануале
pkcs11-tool --module=/opt/aktivco/rutokenecp/x86_64/librtpkcs11ecp.so --login --pin 123456 --keypairgen  --key-type GOSTR3410:A

# делаем csr тоже по ману
openssl req -utf8 -new -keyform engine -key "pkcs11:model=Rutoken%20ECP" -engine rtengine -out req.csr

Вопрос:

Прошу уточнить команду, которой можно создать такой CSR, чтобы подать его какому-нибудь официальному CA, чтобы получить полноценный сертификат? Или в любом случае мы обречены использовать самоподписанный сертификат?

Re: Сертификаты для двухфакторной аутентификации на сайте с USB-токеном

Здравствуйте, microcat.

microcat пишет:

если сделать CSR в соответствии с мануалом, то полученный CSR не принимается CA с формулировкой "Неверный формат сертификата"

Уточните, в какой CA вы отправляете запрос? Попробуйте отправить запрос в тестовый УЦ КриптоПро и сообщите, пожалуйста, результат.

(2020-09-09 20:00:43 отредактировано microcat)

Re: Сертификаты для двухфакторной аутентификации на сайте с USB-токеном

Николай Киблицкий пишет:

Уточните, в какой CA вы отправляете запрос?

GlobalSign. Впрочем, меня устроит любой сертификат (кроме самоподписанного), с которым браузер будет отображать без ворнингов.

Николай Киблицкий пишет:

Попробуйте отправить запрос в тестовый УЦ КриптоПро

1. Параметры создания запроса были немного изменены:

# пересоздаем ключи с --key-type GOSTR3410-2012-256:B
pkcs11-tool --module=/opt/aktivco/rutokenecp/x86_64/librtpkcs11ecp.so --login --pin 123456 --keypairgen  --key-type GOSTR3410-2012-256:B

# сформирован запрос в виде PEM
openssl req -utf8 -new -keyform engine -key "pkcs11:model=Rutoken%20ECP" -engine rtengine -out req.pem

Полученный запрос отправлен по Вашей ссылке.

Николай Киблицкий пишет:

и сообщите, пожалуйста, результат.

2. В ответ был выдан сертификат. Он был скачан в формате DER-шифрование (а не Base64) в виде файлов:

certnew.cer
certnew.p7b

Беглый просмотр сертификата в XCA показал, что он "Valid" и выдан на 3 месяца.

3. Итоговое состояние следующее:

а.) Имеются 2 выданных файла.

б.) Имеется правильно работающий NGINX, настроенный корректно для работы со стандартными SSL-сертификатами (типа Comodo, GlobalSign, etc.). Сервер пока что настроен безо всякой проверки клиентских сертификатов (отсутствует директива ssl_verify_client on;) и без поддержки ГОСТ (все настройки, которые были предложены в статье, были протестированы и затем удалены).

Вопрос 1: прошу указать на документацию, по которой двигаться дальше имея а.) и б.).

Вопрос 2: допустим пользователь имеет компьютер с актуальными Windows и Firefox и стандартными правами пользователя (т.е. он не Администратор). Он получил Рутокен PKI с ключем. В Firefox он сделал единственную настройку: в разделе "Security Devices" он прописал путь библиотеке, добавив тем самым  новый модуль PKCS#11 Rutoken ECP. Можно ли получить подписанный сертификат и настроить nginx таким образом, чтобы пользователь был избавлен от необходимости делать какие-то другие настройки?

Спасибо.

Re: Сертификаты для двухфакторной аутентификации на сайте с USB-токеном

Опишите, пожалуйста, подробнее стоящую перед вами задачу.
Ответ можете прислать сюда или на электронную почту по адресу hotline@rutoken.ru.

Re: Сертификаты для двухфакторной аутентификации на сайте с USB-токеном

Написал в почту.