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

Уведомление

Icon
Error

5 Страницы123>»
Опции
К последнему сообщению К первому непрочитанному
Offline gagarin  
#1 Оставлено : 12 сентября 2012 г. 14:48:51(UTC)
gagarin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.07.2012(UTC)
Сообщений: 58
Откуда: russia

Сказал(а) «Спасибо»: 1 раз
Добрый день!
Имеем сервер: win2008 x64, установлено JCP, JTLS, все тесты говорят все отлично.

Но при запуске Tomcat в логах ругается :
Цитата:

Setting property 'maxSpareThreads' to '75' did not find a matching property
Setting property 'keyalg' to 'GOST3410' did not find a matching property
Setting property 'keyalg' to 'GOST3411withGOST3410EL' did not find a matching property
Setting property 'SSLImplementation' to 'ru.CryptoPro.TomCatSSL.JSSEImplementation' did not find a matching property


далее запуск происходит,
но пример выполнить не удается
Цитата:

System.setProperty("javax.net.ssl.trustStoreType", "HDImageStore");
System.setProperty("javax.net.ssl.trustStore", ".../trusted.store");
System.setProperty("javax.net.ssl.trustStorePassword", "trusted_password");

URL url = new URL("https://cpca.cryptopro.ru/");
HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
connection.connect();

BufferedReader br = new BufferedReader( new InputStreamReader(con.getInputStream()) );
String input;

while ((input = br.readLine()) != null) {
System.out.println(input);
}

br.close();


Подскажите куда смотреть?
Online Евгений Афанасьев  
#2 Оставлено : 12 сентября 2012 г. 15:53:45(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 708 раз в 669 постах
Здравствуйте.
1) в примере подключаетесь к https://cpca.cryptopro.ru/ - это относится к томкату?
2) в логе томката должны быть строчки об успешной инициализации, вроде
Код:

...
INFO: Starting ProtocolHandler ["http-bio-8080"]
11.09.2012 21:40:45 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8443"]
11.09.2012 21:40:45 org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
11.09.2012 21:40:45 org.apache.catalina.startup.Catalina start
INFO: Server startup in 490 ms
...

приведите ваш лог.
Offline gagarin  
#3 Оставлено : 12 сентября 2012 г. 16:05:58(UTC)
gagarin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.07.2012(UTC)
Сообщений: 58
Откуда: russia

Сказал(а) «Спасибо»: 1 раз
Извините, уточняю: на томкате имеем сервлет, который подключается к гос. порталу.
На тестовой машине все отлично работает, теперь переносим на рабочий сервер, и возникают проблемы...
Приведенный пример пытаемся реализовать через сервлет, на тестовой все проходит, на рабочем нет.

лог запуска томката:
Цитата:

Sep 12, 2012 1:04:32 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Progra~1\Java\jdk1.7.0\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;%SystemRoot%\system32\WindowsPowerShell\v1.0\;C:\oracle\product\11.2.0\dbhome_1\bin;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;c:\oracle\Middleware\jdk160_24\jre;.
Sep 12, 2012 1:04:33 PM org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'maxSpareThreads' to '75' did not find a matching property.
Sep 12, 2012 1:04:33 PM org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'keyalg' to 'GOST3410' did not find a matching property.
Sep 12, 2012 1:04:33 PM org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'sigalg' to 'GOST3411withGOST3410EL' did not find a matching property.
Sep 12, 2012 1:04:33 PM org.apache.catalina.startup.SetAllPropertiesRule begin
WARNING: [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'SSLImplementation' to 'ru.CryptoPro.TomCatSSL.JSSEImplementation' did not find a matching property.
Sep 12, 2012 1:04:33 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8088"]
Sep 12, 2012 1:04:33 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]
Sep 12, 2012 1:04:33 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8443"]
Sep 12, 2012 1:04:33 PM ru.CryptoPro.JCP.tools.Starter check
INFO: Loading JCP 1.0.53
Sep 12, 2012 1:04:33 PM ru.CryptoPro.JCP.tools.Starter check
INFO: JCP loaded.
Sep 12, 2012 1:04:34 PM ru.CryptoPro.JCP.tools.AbstractLicense checkSerialHash
INFO: Check license without company name: true
Sep 12, 2012 1:04:34 PM ru.CryptoPro.JCP.tools.AbstractLicense checkSerialHash
INFO: Check license without company name: true
Sep 12, 2012 1:04:34 PM ru.CryptoPro.JCP.tools.AbstractLicense checkSerialHash
INFO: Check license without company name: true
Sep 12, 2012 1:04:35 PM ru.CryptoPro.JCP.tools.AbstractLicense checkSerialHash
INFO: Check license without company name: true
Sep 12, 2012 1:04:35 PM ru.CryptoPro.JCP.tools.AbstractLicense checkSerialHash
INFO: Check license without company name: true
Sep 12, 2012 1:04:35 PM ru.CryptoPro.JCP.tools.AbstractLicense checkSerialHash
INFO: Check license without company name: true
Sep 12, 2012 1:04:35 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 3002 ms
Sep 12, 2012 1:04:35 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Sep 12, 2012 1:04:35 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.29
Sep 12, 2012 1:04:35 PM org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor C:\Program Files\OSGeo\MapGuide\Web\tomcat\conf\Catalina\localhost\fccTest.xml
Sep 12, 2012 1:04:36 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Program Files\OSGeo\MapGuide\Web\tomcat\webapps\docs
Sep 12, 2012 1:04:36 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Program Files\OSGeo\MapGuide\Web\tomcat\webapps\examples
Sep 12, 2012 1:04:36 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Program Files\OSGeo\MapGuide\Web\tomcat\webapps\host-manager
Sep 12, 2012 1:04:36 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Program Files\OSGeo\MapGuide\Web\tomcat\webapps\manager
Sep 12, 2012 1:04:36 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory C:\Program Files\OSGeo\MapGuide\Web\tomcat\webapps\ROOT
Sep 12, 2012 1:04:36 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8088"]
Sep 12, 2012 1:04:36 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]
Sep 12, 2012 1:04:36 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8443"]
Sep 12, 2012 1:04:36 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 798 ms
Sep 12, 2012 1:04:36 PM ru.CryptoPro.JCP.tools.AbstractLicense checkSerialHash
INFO: Check license without company name: true
Online Евгений Афанасьев  
#4 Оставлено : 12 сентября 2012 г. 16:46:27(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 708 раз в 669 постах
Настраивали по инструкции http://cryptopro.ru/foru...t.aspx?g=posts&t=877 (заметил ru.CryptoPro.TomCatSSL в логе)? В инструкции настройка без tomcatSSL. Из портала происходит обращение к tomcat'у (создан ssl-коннектор и защищен его порт)?

Отредактировано пользователем 12 сентября 2012 г. 16:47:32(UTC)  | Причина: Не указана

Offline gagarin  
#5 Оставлено : 12 сентября 2012 г. 16:58:03(UTC)
gagarin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.07.2012(UTC)
Сообщений: 58
Откуда: russia

Сказал(а) «Спасибо»: 1 раз
Настраивали достаточно давно на тестовом сервере, сейчас копируем на рабочий сервер, т.е. у них идентичная настройка, но работает только на тестовом сервере..

Цитата:

Из портала происходит обращение к tomcat'у (создан ssl-коннектор и защищен его порт)?

Соединение инициируем только мы.
Offline gagarin  
#6 Оставлено : 12 сентября 2012 г. 17:16:30(UTC)
gagarin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.07.2012(UTC)
Сообщений: 58
Откуда: russia

Сказал(а) «Спасибо»: 1 раз
К дополнению...
На сервере установлены jre6 для БД Oracle, и jdk7 в который установлены jcp и jtls.
При запуске томката указывается JRE_HOME в директорию jdk7. В этом может быть проблема?
Online Евгений Афанасьев  
#7 Оставлено : 12 сентября 2012 г. 17:43:16(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 708 раз в 669 постах
Неясно, зачем тогда ssl-коннектор на томкате, если вы соединяетесь с порталом из сервлета... Выходит, ssl-коннектор можно отключить?
Версия jre влиять не должна, если jcp + jtls установлены по инструкции (в lib/ext), и именно эта jre используется сервлетом.
Какую ошибку выдает сервлет (или пример)?

Отредактировано пользователем 12 сентября 2012 г. 17:43:56(UTC)  | Причина: Не указана

Offline gagarin  
#8 Оставлено : 12 сентября 2012 г. 17:46:48(UTC)
gagarin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.07.2012(UTC)
Сообщений: 58
Откуда: russia

Сказал(а) «Спасибо»: 1 раз
Цитата:
Неясно, зачем тогда ssl-коннектор на томкате, если вы соединяетесь с порталом из сервлета...

Требуется реализация двусторонней аутентификации на базе сертификатов, соответствующих ГОСТ (TLS)

без ssl-коннектора не работает...

Код:

        KeyStore trustStore = KeyStore.getInstance("HDImageStore", "JCP");
        trustStore.load(new FileInputStream("s.store"), "pass"); 
        // Менеджер хранилища
        TrustManagerFactory tmf = TrustManagerFactory.getInstance("GostX509");
        tmf.init(trustStore);
        TrustManager tms[] = tmf.getTrustManagers();
        // Ключи JCP - подходящий ключ для двухсторонней аутентификации. 
        KeyStore keyStore = KeyStore.getInstance("HDImageStore", "JCP");
        keyStore.load(null, null);
        KeyManagerFactory kmf = KeyManagerFactory.getInstance("GostX509");
        kmf.init(keyStore, "pass");
        KeyManager km[] = kmf.getKeyManagers();        
        // SSL Контекст
        SSLContext sc = SSLContext.getInstance("GostTLS");
        sc.init(km, tms, SecureRandom.getInstance("CPRandom", "JCP"));
        SSLSocketFactory sslFactory = sc.getSocketFactory();

Ошибка сервлета:
Код:
javax.net.ssl.SSLException: java.lang.UnsupportedOperationException

Отредактировано пользователем 12 сентября 2012 г. 17:58:32(UTC)  | Причина: Не указана

Online Евгений Афанасьев  
#9 Оставлено : 12 сентября 2012 г. 18:15:58(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 708 раз в 669 постах
gagarin написал:
Цитата:
Неясно, зачем тогда ssl-коннектор на томкате, если вы соединяетесь с порталом из сервлета...

Требуется реализация двусторонней аутентификации на базе сертификатов, соответствующих ГОСТ (TLS)

без ssl-коннектора не работает...


Сервлет - это, как я понял, ваш клиент к сервису госпортала. Госпортал осуществляет работу по защищенному каналу (ГОСТ TLS) с двухсторонней аутентификацией. Создание подключения вы выполняете в сервлете - и снова неясно, зачем ssl-коннектор в томкате, если сервлет (использующий jre 7 + jcp + jtls) - это клиент к госпорталу, а к томкату по защищенному порту (ssl-коннектором на 8443 порту) никто не подключается, ведь
Цитата:
Соединение инициируем только мы.
. Если кто-то подключается к 8443 порту в томкате - тогда имеет смысл создавать ssl-коннектор.

В примере вроде бы все верно. Известно, в какой строчке выдается такое исключение?

//----------------------------------
.load должен принимать пароль в виде char[].
Путь к ключам указан верно (может быть, на тестовой машине путь к папке с контейнерами другой - ControlPane->вкл. Hardware->Path to HDImage store) ?
Запускается томкат от пользователя, у которого хранятся ключи?

Отредактировано пользователем 12 сентября 2012 г. 18:25:37(UTC)  | Причина: Не указана

Offline gagarin  
#10 Оставлено : 12 сентября 2012 г. 18:51:46(UTC)
gagarin

Статус: Активный участник

Группы: Участники
Зарегистрирован: 02.07.2012(UTC)
Сообщений: 58
Откуда: russia

Сказал(а) «Спасибо»: 1 раз
Цитата:
Сервлет - это, как я понял, ваш клиент к сервису госпортала.

Все правильно, наш сервлет, это клиент.

Цитата:
Если кто-то подключается к 8443 порту в томкате - тогда имеет смысл создавать ssl-коннектор

Убрал коннектор.

Цитата:
Путь к ключам указан верно (может быть, на тестовой машине путь к папке с контейнерами другой - ControlPane->вкл. Hardware->Path to HDImage store) ?

Пути указаны корректно, папка с контейнерами есть

Цитата:
Известно, в какой строчке выдается такое исключение

Код:
        KeyStore trustStore = KeyStore.getInstance("HDImageStore", "JCP");

        trustStore.load(new FileInputStream("s.store"), "pass".toCharArray());

        TrustManagerFactory tmf = TrustManagerFactory.getInstance("GostX509");
        tmf.init(trustStore);
        TrustManager tms[] = tmf.getTrustManagers();

        KeyStore keyStore = KeyStore.getInstance("HDImageStore", "JCP");
        keyStore.load(null, null);
        KeyManagerFactory kmf = KeyManagerFactory.getInstance("GostX509");
        kmf.init(keyStore, "pass".toCharArray());
        KeyManager km[] = kmf.getKeyManagers();

        // SSL Контекст
        SSLContext sc = SSLContext.getInstance("GostTLS");
        sc.init(km, tms, SecureRandom.getInstance("CPRandom", "JCP"));
        SSLSocketFactory sslFactory = sc.getSocketFactory();

        Socket socket = sslFactory.createSocket(host, 4433);

        Writer wr = new OutputStreamWriter(socket.getOutputStream(), "iso-8859-1");
        wr.write(headers);
        wr.write(request);
        wr.flush(); <--- В этой строчке


Цитата:
Запускается томкат от пользователя, у которого хранятся ключи?

Да

Отредактировано пользователем 12 сентября 2012 г. 18:52:29(UTC)  | Причина: Не указана

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