Аверченко Кирилл пишет:При выписывании сертификата какие поля добавляются в пользовательский сертификат?
Все по статье на habr что Вы скинули, теми же методами с теми же полями слово в слово. Естественно CN сервера актуальный подставлен.
2й вариант - со своими данными, из командной строки.
Аверченко Кирилл пишет:Есть доступ к логам сервера? Там никаких ошибок нет?
Ошибок нет, информационное сообщение, везде одинаковое - разрыв соединения клиентом:
Connection closed to child #N with abortive shutdown
А должно быть:
Connection closed to child #N with standard shutdown
При подключении с Виндоус:
19:44:55.777791 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: write 3456/3456 bytes to BIO#7faf34002ec0 [mem: 7faf34011ad0]
19:44:56.492673 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: read 5/5 bytes from BIO#7faf34002f80 [mem: 7faf3400c583]
19:44:56.492731 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: read 1/1 bytes from BIO#7faf34002f80 [mem: 7faf3400c588]
19:44:56.492742 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: read 5/5 bytes from BIO#7faf34002f80 [mem: 7faf3400c583]
19:44:56.492750 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: read 61/61 bytes from BIO#7faf34002f80 [mem: 7faf3400c588]
19:44:56.492814 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: write 24/24 bytes to BIO#7faf34002ec0 [mem: 7faf34011ad0]
19:44:56.492884 ssl:info [client x.x.x.x:x] AH01998: Connection closed to child 83 with abortive shutdown (server web.test.ru:443)
При подключении с Мак - аналогично Виндоус (и в браузере та же ошибка. см в предыдущем посте):
19:58:10.219290 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: write 3456/3456 bytes to BIO#7faf1c002c70 [mem: 7faf1c011880]
19:58:15.354093 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: read 5/5 bytes from BIO#7faf1c002d30 [mem: 7faf1c00c333]
19:58:15.354201 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: read 1/1 bytes from BIO#7faf1c002d30 [mem: 7faf1c00c338]
19:58:15.354218 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: read 5/5 bytes from BIO#7faf1c002d30 [mem: 7faf1c00c333]
19:58:15.354227 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: read 61/61 bytes from BIO#7faf1c002d30 [mem: 7faf1c00c338]
19:58:15.354295 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: write 24/24 bytes to BIO#7faf1c002c70 [mem: 7faf1c011880]
19:58:15.354423 ssl:info [client x.x.x.x:x] AH01998: Connection closed to child 68 with abortive shutdown (server web.test.ru:443)
При подключении с Linux:
19:45:45.620011 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: write 3456/3456 bytes to BIO#7faf24002ec0 [mem: 7faf24011ad0]
19:45:55.219439 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: read 5/5 bytes from BIO#7faf24002f80 [mem: 7faf2400c583]
19:45:55.219497 ssl:trace4 ssl_engine_io.c(2214): [client x.x.x.x:x] OpenSSL: read 19/19 bytes from BIO#7faf24002f80 [mem: 7faf2400c588]
19:45:55.219544 ssl:info [client x.x.x.x:x] AH01998: Connection closed to child 87 with abortive shutdown (server web.test.ru:443)
Аверченко Кирилл пишет:На Windows есть библиотека rtpkcs11.dll. Для других ОС ее нет. Сертификаты и ключевые пары, выписанные через эту библиотека совместимы с криптопровайдером. И такой сертификат может быть зарегистрирован в Windows через штатный криптопровайдер для работы в IE и Chrome.
Ясно. То есть сгенерировать ключевую пару и записать сертификат можно только в Windows.
Аверченко Кирилл пишет:Для работы через криптопровайдер можно попробовать сгенерировать ключ и записать сертификат в Windows с помощью команд:
pkcs11-tool.exe --module C:\windows\system32\rtpkcs11.dll --id 02 --pin "12345678" --keypairgen --key-type rsa:2048 -l
pkcs11-tool.exe --module C:\windows\system32\rtpkcs11.dll --pin 12345678 -l -y cert -w ./user2.crt.pem --id 02
После этого в Панели Управления Рутокен появится возможность зарегистрировать данный сертификат через системный криптопровайдер (Необходимо установить галку в поле Зарегистрирован).
Спасибо, это сработало, галка появилась, в IE сайт открылся. Но в других браузерах и ОС не открывается, только IE, для нас это не приемлемо к сожалению.
И второй тоже существенный недостаток этого подхода: Здесь Вы не указали что между этими командами нужно еще создать запрос на сертификат, и в Windows это делается не тривиально на сколько я знаю (имею в виду скриптами), если вообще возможно. Получается, что последовательность такая:
1. Вставляем токен в компьютер с Windows, генерируем ключ
2. Вставляем токен в компьютер с Linux, создаем запрос, отправляем на подпись, копируем сертификат на компьютер с Windows
3. Вставляем токен в компьютер с Windows, записываем сертификат на токен
- С точки зрения автоматизации выписки ключей, не очень удобный вариант.
Создается впечатление, что на данный момент поддержка токена Рутокен ЭЦП 2.0 для web-аутентификации на TLS сыровата.