Клиентский сертификат в Mozilla Firefox

Есть веб-интерфейс технического устройства с интерфейсом HTTPS и аутентификацией пользователя клиентским сертификатом. В Mozilla Firefox происходит следующее:

1. В настройках "Устройства защиты..." токен добавлен (rtPKCS11.dll), "Начать сеанс" и "Закончить сеанс" отрабатывают нормально.
2. В настройках "Просмотр сертификатов..." при подключённом токене видно находящийся на нём сертификат.
3. При попытке открыть страницу, запрашивает сертификат. Можно выбрать сертификат с токена, если токен подключен.
4. Но не открывает, выдаёт ошибку. Либо SEC_ERROR_LIBRARY_FAILURE в Firefox 72.02 x64 с драйверами Рутокен 4.7.2.0, либо SSL_ERROR_RX_CERTIFICATE_REQUIRED_ALERT в Firefox 84.02 x64 с драйверами Рутокен 4.8.8.0.

С сертификатом, устанавливаемым из файла - работает. Работает нормально в Chrome, Edge, IE11, как с сертификатом из файла, так и с сертификатом на токене. Сертификат SHA384+RSA.

Re: Клиентский сертификат в Mozilla Firefox

Евгений Рябцев пишет:

Есть веб-интерфейс технического устройства с интерфейсом HTTPS и аутентификацией пользователя клиентским сертификатом. В Mozilla Firefox происходит следующее:

1. В настройках "Устройства защиты..." токен добавлен (rtPKCS11.dll), "Начать сеанс" и "Закончить сеанс" отрабатывают нормально.

Здравствуйте!

Какую конкретно модель Рутокен Вы используете? Как на токен попадают ключ и сертификат?

Re: Клиентский сертификат в Mozilla Firefox

1. Использую Рутокен ЭЦП 2.0.
2. Ключ создаю на токене средствами WinAPI из C#. Конкретно, "CryptGenKey(provider, AT_SIGNATURE, KEY_SIZE_2048, out key)".
3. Сертификат из панели управления Рутокен "Назначить сертификат ключевой паре...".

Re: Клиентский сертификат в Mozilla Firefox

Евгений Рябцев пишет:

1. Использую Рутокен ЭЦП 2.0.

Для работы с токенами семейства Рутокен ЭЦП нужно использовать библиотеку rtPKCS11ECP.dll

(2021-01-25 13:51:37 отредактировано Евгений Рябцев)

Re: Клиентский сертификат в Mozilla Firefox

Я её пробовал использовать для генерации ключей, но там тоже непросто:

1. С создаваемыми ключами RSA потом невозможно работать средствами панели управления Рутокена. В панели управления 4.7.2.0 вообще не видно ключевую пару, а в панели управления 4.8.8.0 она какая-то неполноценная (например, в контекстном меню отсутствует команда "Назначить сертификат ключевой паре..."). Можно назначить сертификат через rtPKCS11ECP.dll, но...
2. Firefox такие сертификаты видит, позволяет выбирать, но всё равно не работает.
3. Остальные браузеры сертификат видеть перестают.

Или вы имеете в виду использовать rtPKCS11ECP.dll в браузере? Старый Firefox его не подгружает, но да и бог бы с ним.

https://forum.rutoken.ru/uploads/images/2021/01/dd810ac143c73c0f828ac4d8eb717de6.png

Новый подгружает, но всё равно страницу не открывает: либо PR_CONNECT_RESET_ERROR либо SSL_ERROR_RX_CERTIFICATE_REQUIRED_ALERT (они как-то апериодически чередуются). Токен при каждом обновлении активно мыргает.

UPD: Попробовал грузить сертификат на токен через .p12 и панель управления токеном. Новый Firefox, в нём rtPKCS11ECP.dll. Картина та же.

Re: Клиентский сертификат в Mozilla Firefox

Евгений Рябцев пишет:

Или вы имеете в виду использовать rtPKCS11ECP.dll в браузере?

Да, выписывать сертификат по-прежнему, а в Firefox использовать библиотеку rtpkcs11ecp.dll

На компьютере установлены антивирусы?
Ошибка PR_CONNECT_RESET_ERROR может возникать из-за них https://support.mozilla.org/en-US/questions/1280856

В Firefox добавляли сертификат корневого центра сертификации?

Re: Клиентский сертификат в Mozilla Firefox

Установлен антивирус Касперского, но он сейчас выгружен, как раз чтобы не мешал. Он вообще может влиять на взаимодействие между браузером и токеном? Если он только про взаимодействие между браузером и сервером, то с сертификатом из файла этот же Firefox работает, причём попробовал даже с одним и тем же сертификатом .p12, закидывал напрямую в Firefox и на токен: напрямую работает, на токене - нет.

Сертификаты ЦС и клиента и сервера в хранилище добавлены.

Re: Клиентский сертификат в Mozilla Firefox

Просьба собрать лог библиотеки rtpkcs11ecp с помощью утилиты https://dev.rutoken.ru/pages/viewpage.a … d=19496963
Лог можно прислать на почту averchenko@rutoken.ru

Re: Клиентский сертификат в Mozilla Firefox

Пообщались по почте. Проблема уверенно воспроизводится с Mozilla Firefox под Windows и Linux при работе с TLS1.3. Пока можно зайти в about:config, поискать там tls и установить security.tls.version.max = 3 для ограничения TLS версией 1.2, или же можно запретить TLS1.3 со стороны сервера. На перспективу надо добиваться полной совместимости (я подозреваю, работы сейчас ведутся) и, когда получится, отписаться здесь.

Большое спасибо службе поддержки за оперативность и компетентность.

Re: Клиентский сертификат в Mozilla Firefox

Евгений Рябцев, Добрый день.
Мы выпустили новую версию библиотеки rtpkcs11ecp, которая позволяет работать с TLS версии 1.3.
Для macOS и Linux можно скачать у нас на сайте https://www.rutoken.ru/support/download/pkcs/
Версия для windows доступна по ссылке https://download.rutoken.ru/Rutoken/PKC … ction=show

Re: Клиентский сертификат в Mozilla Firefox

Ага, спасибо, всё работает. Это ещё не в инсталляторе 4.9.1.0, как я понимаю? В следующем выпуске будет или немного задержится?

Re: Клиентский сертификат в Mozilla Firefox

Да, в Драйвера Рутокен эта версия библиотеки попадет в следующем релизе.