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

Уведомление

Icon
Error

4 Страницы123>»
Опции
К последнему сообщению К первому непрочитанному
Offline KBek  
#1 Оставлено : 20 ноября 2013 г. 14:15:05(UTC)
KBek

Статус: Участник

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

Сказал(а) «Спасибо»: 2 раз
Я хочу настроить HTTPS соединение для Tomcat с использованием ключа от КриптоПро.

Я действую по инструкции
https://support.cryptopr...pro-jtls-v-apache-tomcat

Использую Tomcat 7.0.20, КриптоПро JCP 1.0.54, КриптоПро JTLS 1.0.54

Ява 1.6.0_37 - накатывал все изменения на нее
Переменные среды:
%JAVA_HOME% = c:\Program Files\Java\jdk1.6.0_37

%JRE_HOME% = c:\Program Files\Java\jdk1.6.0_37\jre

как раз она.

Правда когда я вызываю java в командной строке, то используеться другая ява, путь к которой прописан в "Панель управления\Все элементы панели управления\Java" - >Java Control Panel -> Java Runtime Enveriunment Settings ->System
И там другая JRE

(не знаю важно ли это)



Настроил порт в томкате так:
Код:

  <Connector port="8443" maxHttpHeaderSize="8192"
protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false"
algorithm="GostX509"
keystoreProvider="JCP"
sslProtocol="GostTLS"
keystoreType="HDImageStore"
keyalg="GOST3410"
sigalg="GOST3411withGOST3410EL"
keystoreFile="c:/cryptoprostore/store.store"
keystorePass=""
ciphers="TLS_CIPHER_2001"
sslEnabledProtocols="GostTLS"
/>



а мне выдает при старте томката следующее сообщение:
Код:

20.11.2013 14:34:47 org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'maxS
pareThreads' to '75' did not find a matching property.
20.11.2013 14:34:47 org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'keya
lg' to 'GOST3410' did not find a matching property.
20.11.2013 14:34:47 org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'siga
lg' to 'GOST3411withGOST3410EL' did not find a matching property.
20.11.2013 14:34:48 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-8080"]
20.11.2013 14:34:48 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8443"]
20.11.2013 14:34:49 ru.CryptoPro.ssl.n <init>
WARNING: %% No appropriate keys for handshake
PATH: C:\Users\me\Local Settings\Application Data\Crypto Pro
20.11.2013 14:34:49 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector



И при попытке обратиться к https://localhost:8443/manager/html , к примеру (ну или любому другому приложению, крутящемуся на сервере, если указываеться https) получаем:

Код:

20.11.2013 15:14:44 org.apache.tomcat.util.net.NioEndpoint setSocketOptions
SEVERE:
java.lang.IllegalArgumentException: GostTLS
        at ru.CryptoPro.ssl.k.a(Unknown Source)
        at ru.CryptoPro.ssl.l.<init>(Unknown Source)
        at ru.CryptoPro.ssl.java6.SSLEngineImpl.setEnabledProtocols(Unknown Sour
ce)
        at org.apache.tomcat.util.net.NioEndpoint.createSSLEngine(NioEndpoint.ja
va:693)
        at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.j
ava:644)
        at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:
789)
        at java.lang.Thread.run(Thread.java:662)
20.11.2013 15:14:44 org.apache.tomcat.util.net.NioEndpoint setSocketOptions
SEVERE:
java.lang.IllegalArgumentException: GostTLS
        at ru.CryptoPro.ssl.k.a(Unknown Source)
        at ru.CryptoPro.ssl.l.<init>(Unknown Source)
        at ru.CryptoPro.ssl.java6.SSLEngineImpl.setEnabledProtocols(Unknown Sour
ce)
        at org.apache.tomcat.util.net.NioEndpoint.createSSLEngine(NioEndpoint.ja
va:693)
        at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.j
ava:644)
        at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:
789)
        at java.lang.Thread.run(Thread.java:662)




Подскажите, что делать?

Отредактировано пользователем 20 ноября 2013 г. 14:16:41(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 20 ноября 2013 г. 14:43:50(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 693 раз в 654 постах
Здравствуйте.
1) ключевой контейнер имеется для tomcat в папке контейнеров JCP?
2) store.store - это хранилище доверенных сертификатов? Попробуйте задать keystoreFile="c:\cryptoprostore\store.store"
3) попробуйте убрать ciphers="TLS_CIPHER_2001" sslEnabledProtocols="GostTLS"
Offline KBek  
#3 Оставлено : 21 ноября 2013 г. 8:52:18(UTC)
KBek

Статус: Участник

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

Сказал(а) «Спасибо»: 2 раз
1) - Честно говоря я не очень давно пользуюсь КриптоПро и поэтому не совсем понял вопрос.

У меня установлен КриптоПро CSP, туда загружен сертификат с ключами (файлы masks.key,masks2.key,primary.key,primary2.key,header.key,name.key )
Оттуда я экспортировал сертификат (вместе с корневым их 2 получаеться) и загрузил через Контрольную панель в КриптоПро JCP, в хранилище сертификатов - его адрес и есть c:\cryptoprostore\store.store

2) - попробовал поменять слеши на обратные, не помогает.
3) Если убрать, то при подъеме также выдает

20.11.2013 15:59:26 org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'maxS
pareThreads' to '75' did not find a matching property.
20.11.2013 15:59:26 org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'keya
lg' to 'GOST3410' did not find a matching property.
20.11.2013 15:59:26 org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'siga
lg' to 'GOST3411withGOST3410EL' did not find a matching property.
20.11.2013 15:59:27 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-8080"]
20.11.2013 15:59:27 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8443"]
20.11.2013 15:59:27 ru.CryptoPro.ssl.n <init>
WARNING: %% No appropriate keys for handshake


при попытке обращения по https выдает


20.11.2013 15:59:37 ru.CryptoPro.ssl.n a
WARNING: %% No alias is match
20.11.2013 15:59:37 ru.CryptoPro.ssl.n a
WARNING: %% No alias is match
20.11.2013 15:59:37 ru.CryptoPro.ssl.n a
WARNING: %% No alias is match
20.11.2013 15:59:37 ru.CryptoPro.ssl.n a
WARNING: %% No alias is match

Отредактировано пользователем 21 ноября 2013 г. 8:52:53(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#4 Оставлено : 21 ноября 2013 г. 9:06:00(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 693 раз в 654 постах
%% No alias is match
Для сервера нужен ключевой контейнер в папке с контейнерами JCP (CSP не используется). Одного сертификата не достаточно.
Ключевой контейнер с сертификатом для серверной аутентификации для tomcat должен лежать, например, в папке C:\Users\<user>\Application Data\Local\Crypto Pro и иметь пароль keystorePass (лучше не пустой, и одинаковый и для контейнера, и в connector'е). Этот контейнер будет выбран согласно паролю keystorePass.

По инструкции:

2) настраиваем Tomcat под свою учетную запись
(Панель управления -> Администрирование -> Службы и приложения -> Службы -> Apache Tomcat свойства -> вход в систему: с учетной записью (указать имя и пароль)) или следуем инструкциям в руководстве.

3) генерируем ключ (аутентификация сервера) с помощью контрольной панели JCP, там же сохраняем запрос в BASE64.
По сохраненному запросу получаем сертификат на http://www.cryptopro.ru/certsrv/ , там же получаем корневой сертификат
с помощью контрольной панели устанавливаем полученный сертификат в контейнер
(для того чтобы записать цепочку сертификатов можно воспользоваться ComLine.Certs)//цепочку можно и не записывать
устанавливаем на контейнер пароль "123"
с помощью контрольной панели создаем хранилище сертификатов C:\store.store и устанавливаем на него пароль "123"
(Важно, чтобы пароль на контейнер совпадал с паролем на хранилище)
в хранилище сертификатов записываем корневой сертификат

Отредактировано пользователем 21 ноября 2013 г. 9:08:09(UTC)  | Причина: Не указана

Offline KBek  
#5 Оставлено : 21 ноября 2013 г. 9:12:49(UTC)
KBek

Статус: Участник

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

Сказал(а) «Спасибо»: 2 раз
Если у меня уже есть файлы masks.key,masks2.key,primary.key,primary2.key,header.key,name.key

то осталось сделать только следующее?

Автор: afev Перейти к цитате

с помощью контрольной панели устанавливаем полученный сертификат в контейнер
(для того чтобы записать цепочку сертификатов можно воспользоваться ComLine.Certs)//цепочку можно и не записывать
устанавливаем на контейнер пароль "123"
с помощью контрольной панели создаем хранилище сертификатов C:\store.store и устанавливаем на него пароль "123"
(Важно, чтобы пароль на контейнер совпадал с паролем на хранилище)
в хранилище сертификатов записываем корневой сертификат

Offline KBek  
#6 Оставлено : 21 ноября 2013 г. 9:14:09(UTC)
KBek

Статус: Участник

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

Сказал(а) «Спасибо»: 2 раз
И еще у меня томкат не запущен как сервис, а я его стартую вручную.
Offline Евгений Афанасьев  
#7 Оставлено : 21 ноября 2013 г. 9:33:28(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 693 раз в 654 постах
Автор: KBek Перейти к цитате
Если у меня уже есть файлы masks.key,masks2.key,primary.key,primary2.key,header.key,name.key

то осталось сделать только следующее?

Автор: afev Перейти к цитате

с помощью контрольной панели устанавливаем полученный сертификат в контейнер
(для того чтобы записать цепочку сертификатов можно воспользоваться ComLine.Certs)//цепочку можно и не записывать
устанавливаем на контейнер пароль "123"
с помощью контрольной панели создаем хранилище сертификатов C:\store.store и устанавливаем на него пароль "123"
(Важно, чтобы пароль на контейнер совпадал с паролем на хранилище)
в хранилище сертификатов записываем корневой сертификат



Если есть контейнер и была задана серверная аутентификация при его генерации - да, надо получить сертификат, установить в контейнер и задать пароль.

Offline KBek  
#8 Оставлено : 21 ноября 2013 г. 15:25:55(UTC)
KBek

Статус: Участник

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

Сказал(а) «Спасибо»: 2 раз
Спасибо.
сейчас сделал так.

скопировал в ${user.home}\Local Settings\Application Data\Crypto Pro папку с файлами masks.key,masks2.key,primary.key,primary2.key,header.key,name.key

Контрольная панель JCP увидела ее как HDImage и видет там ключ и сертификат.


в c:\cryptoprostore\store.store как и раньше находиться хранилище сертификатов, в которое выгружены сертификаты из предыдущего контейнера(выгружал заранее через КриптоПро CSP).


поставил на оба хранилища одинаковые пароли 123

вот что у меня в настройках:

<Connector port="8443" maxHttpHeaderSize="8192"
protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="false"
algorithm="GostX509"
keystoreProvider="JCP"
sslProtocol="GostTLS"
keystoreType="HDImageStore"
keyalg="GOST3410"
sigalg="GOST3411withGOST3410EL"
keystoreFile="c:\cryptoprostore\store.store"
keystorePass="123"

/>


Мне при подъеме томката выдает так:


21.11.2013 16:25:05 org.apache.catalina.core.AprLifecycleListener init
INFO: Loaded APR based Apache Tomcat Native library 1.1.22.
21.11.2013 16:25:05 org.apache.catalina.core.AprLifecycleListener init
INFO: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], r
andom [true].
21.11.2013 16:25:05 org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'maxS
pareThreads' to '75' did not find a matching property.
21.11.2013 16:25:05 org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'keya
lg' to 'GOST3410' did not find a matching property.
21.11.2013 16:25:05 org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'siga
lg' to 'GOST3411withGOST3410EL' did not find a matching property.
21.11.2013 16:25:06 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-apr-8080"]
21.11.2013 16:25:06 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8443"]
21.11.2013 16:25:07 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector

INFO: Using a shared selector for servlet write/read
21.11.2013 16:25:07 org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-apr-8009"]
21.11.2013 16:25:07 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1701 ms
21.11.2013 16:25:07 org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
21.11.2013 16:25:07 org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.20
21.11.2013 16:25:07 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory docs
21.11.2013 16:25:07 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory examples
21.11.2013 16:25:07 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory host-manager
21.11.2013 16:25:07 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory manager
21.11.2013 16:25:07 org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
21.11.2013 16:25:07 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-apr-8080"]
21.11.2013 16:25:07 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8443"]
21.11.2013 16:25:07 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-apr-8009"]
21.11.2013 16:25:07 org.apache.catalina.startup.Catalina start
INFO: Server startup in 511 ms


При обращении по https:

21.11.2013 16:26:26 ru.CryptoPro.ssl.n a
WARNING: %% No alias is match
21.11.2013 16:26:26 ru.CryptoPro.ssl.n a
WARNING: %% No alias is match
21.11.2013 16:26:26 ru.CryptoPro.ssl.n a
WARNING: %% No alias is match
21.11.2013 16:26:26 ru.CryptoPro.ssl.n a
WARNING: %% No alias is match







Возможно я не сделал вот этого
Цитата:

2) настраиваем Tomcat под свою учетную запись
(Панель управления -> Администрирование -> Службы и приложения -> Службы -> Apache Tomcat свойства -> вход в систему: с учетной записью (указать имя и пароль)) или следуем инструкциям в руководстве.


у меня просто не служюа, а томкат запускаеться вручную через bat-ник

Отредактировано пользователем 21 ноября 2013 г. 15:34:51(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#9 Оставлено : 21 ноября 2013 г. 15:49:51(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 693 раз в 654 постах
1) Проверка подлинности сервера (1.3.6.1.5.5.7.3.1) есть в сертификате сервера? В контейнере действительно сертификат или запрос на сертификат? (если создавали контейнер в панели JCP, то в контейнер помещается запрос) - сравните subject и issuer, если совпадают, то это запрос.
2) попробуйте зарегистрировать tomcat как службу и сделать у него запуск от имени того пользователя, в папке JCP (для контейнеров) которого лежит нужный контейнер.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
KBek оставлено 26.11.2013(UTC)
Offline KBek  
#10 Оставлено : 21 ноября 2013 г. 17:03:08(UTC)
KBek

Статус: Участник

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

Сказал(а) «Спасибо»: 2 раз
Автор: afev Перейти к цитате
1) Проверка подлинности сервера (1.3.6.1.5.5.7.3.1) есть в сертификате сервера?


Как это проверить?


Автор: afev Перейти к цитате

сравните subject и issuer, если совпадают, то это запрос.


Я нашел поле issuer в информации о СЕРТЕФЕКАТЕ, но не нашел поле subject.

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