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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline s.sokolko  
#1 Оставлено : 23 ноября 2018 г. 10:55:23(UTC)
s.sokolko

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

Группы: Участники
Зарегистрирован: 23.09.2015(UTC)
Сообщений: 47
Российская Федерация
Откуда: Тюмень

Сказал(а) «Спасибо»: 15 раз
Доброго времени суток, уважаемые участники форума!

Настраиваем бесплатный адаптер СМЭВ для работы со СМЭВ 3 от Минкомсвязи и Ростелекома. Хотели бы использовать КриптоПРО JCP как провайдер для адаптера СМЭВ.
Столкнулись с проблемой указания настроек в адаптере СМЭВ под названием "Псевдоним приватного ключа" и "Псевдоним сертификата". При использовании Trusted Java и КритоПРО
всё довольно просто: мы указываем что-то вроде REGISTRY\\xxxxxxxxx (дружественное имя контейнера). Вместе с этим, когда мы используем КриптоПРО JCP, непонятно, как указывать
данные псевдонимы или идентификаторы.

Сам контейнер находится в папке C:\Users\admin\AppData\Local\Crypto Pro\6d1234e2.000, его видит утилита Settings в HDImageStore. Я пробовал указать в качестве псевдонима как 6d1234e2.000, так и длинный идентификатор под ImageStore (xxxxxxx-xxxx-xxxx-xxxxxxxxx), и даже HDImage\xxxxxxx-xxxx-xxxx-xxxxxxxxx. При всех этих вариантах получаю ошибку, которая указана ниже. Подскажите, пожалуйста, как правильно указать идентификатор (псевдоним) ключа и сертификата?


Код:

2018-11-23 12:40:25.738  INFO 2880 - [main] org.apache.catalina.core.StandardEngine : Starting Servlet Engine: Apache Tomcat/8.5.15
2018-11-23 12:40:26.425  INFO 2880 - [localhost-startStop-1] org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2018-11-23 12:40:27.660  INFO 2880 - [localhost-startStop-1] com.zaxxer.hikari.HikariDataSource : HikariPool-0 - is starting.
2018-11-23 12:40:34.451  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : keyStore is : 
2018-11-23 12:40:34.451  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : keyStore type is : 
2018-11-23 12:40:34.456  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : keyStore provider is : 
2018-11-23 12:40:34.456  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : init key store
2018-11-23 12:40:34.532  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : defaultStoreProvider = 
2018-11-23 12:40:34.532  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : 
2018-11-23 12:40:37.449  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : init key manager of type GostX509
2018-11-23 12:40:37.519  WARN 2880 - [main] ru.CryptoPro.ssl.SSLLogger : %% No appropriate keys for handshake
PATH: C:\Users\ad\Local Settings\Application Data\Crypto Pro
2018-11-23 12:40:37.519  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : trustStore is: 
2018-11-23 12:40:37.520  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : trustStore type is : 
2018-11-23 12:40:37.520  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : trustStore provider is : 
2018-11-23 12:40:37.521  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : init trust store
2018-11-23 12:40:37.521  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : init trust manager of type GostX509
2018-11-23 12:40:37.527  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : init context...
2018-11-23 12:40:37.668  INFO 2880 - [main] ru.CryptoPro.ssl.SSLLogger : Context initiated.
2018-11-23 12:40:37.725  INFO 2880 - [main] ru.rtlabs.smev3.adapter.core.AdapterApp : Для ИС 721301 определен модуль интеграции inner
2018-11-23 12:40:37.726  INFO 2880 - [main] ru.rtlabs.smev3.adapter.common.services.storage.StorageManager : Starting DB Manager
2018-11-23 12:40:37.728  INFO 2880 - [main] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - is starting.
2018-11-23 12:40:37.820  INFO 2880 - [main] ru.rtlabs.smev3.adapter.common.services.storage.StorageManager : DB Manager started successfully
2018-11-23 12:40:47.266  INFO 2880 - [main] com.sun.xml.ws.monitoring : Metro monitoring rootname successfully set to: com.sun.metro:pp=/,type=WSEndpoint,name=PushNotificationService-PushNotificationPort
2018-11-23 12:40:48.475  INFO 2880 - [main] ru.rtlabs.smev3.adapter.integration.smev.CryptoInitializer : smev version: 1.3
2018-11-23 12:40:48.475  INFO 2880 - [main] ru.rtlabs.smev3.adapter.integration.smev.CryptoInitializer : provider: JCP2
2018-11-23 12:40:48.538  WARN 2880 - [main] ru.voskhod.smev.client.api.signature.impl.SignerImpl : private key with alias: "6d1234e2.000" not found
2018-11-23 12:40:48.553 ERROR 2880 - [main] ru.rtlabs.smev3.adapter.integration.smev.CryptoInitializer : CryptoInitializer init failure: certificate with alias "6d1234e2.000" not found

java.lang.Exception: certificate with alias "6d1234e2.000" not found
	at ru.rtlabs.smev3.adapter.integration.smev.CryptoInitializer.validation(CryptoInitializer.java:84)
	at ru.rtlabs.smev3.adapter.integration.smev.CryptoInitializer.init(CryptoInitializer.java:62)
	at ru.rtlabs.smev3.adapter.integration.smev.CryptoInitializer.postConstruct(CryptoInitializer.java:43)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:366)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:311)
	at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:134)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:409)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1620)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543)
	at org.springframework.boot.context.embedded.EmbeddedWebApplicationContext.refresh(EmbeddedWebApplicationContext.java:122)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:303)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)
	at ru.rtlabs.smev3.adapter.boot.Boot.main(Boot.java:24)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
	at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)

Offline Евгений Афанасьев  
#2 Оставлено : 23 ноября 2018 г. 11:19:06(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Здравствуйте.
Код:

2018-11-23 12:40:48.553 ERROR 2880 - [main] ru.rtlabs.smev3.adapter.integration.smev.CryptoInitializer : CryptoInitializer init failure: certificate with alias "6d1234e2.000" not found

Как работает ru.rtlabs.smev3.adapter.integration.smev.CryptoInitializer - не знаем, но использовать нужно алиас ключа (контейнера). Алиас - это его имя, например, testcontainer, которое выводится как при перечислении контейнеров: KeyStore.aliases(), так и при обращении к ключу (обычно так): KeyStore.getKey("testcontainer", password). При сохранении testcontainer в HDImageStore будет получена папка вида testcont.XXX. Алиас можно увидеть в панели управления JCP или CSP.
Offline s.sokolko  
#3 Оставлено : 23 ноября 2018 г. 12:28:55(UTC)
s.sokolko

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

Группы: Участники
Зарегистрирован: 23.09.2015(UTC)
Сообщений: 47
Российская Федерация
Откуда: Тюмень

Сказал(а) «Спасибо»: 15 раз
Благодарю за оперативный ответ! Попробовал указать 6d1234e2. К сожалению, не помогло.
Подскажите, пожалуйста, на какой вкладке панели управления JCP можно просмотреть алиасы контейнеров?
Пробовал найти у себя в системе, пока не удалось
Ниже скрин-шот панели JCP
2018-11-23-142955_802x797_scrot.png (44kb) загружен 79 раз(а).

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

Offline Евгений Афанасьев  
#4 Оставлено : 23 ноября 2018 г. 12:59:21(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Длинное имя - 6d24..., внутри которого отображается ключ и сертификат.
thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
s.sokolko оставлено 23.11.2018(UTC)
Offline two_oceans  
#5 Оставлено : 23 ноября 2018 г. 13:04:37(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 394 раз в 366 постах
Автор: Евгений Афанасьев Перейти к цитате
При сохранении testcontainer в HDImageStore будет получена папка вида testcont.XXX.
Заметьте что алиас "testcontainer", а в имя папки пошли только "testcont". Таким образом, если дружественное имя состоит из латинских цифр и букв в имя папки берется первые 8 символов. В Вашем случае 6d1234e2 это только первые 8 символов алиаса. По Вашему скриншоту вообще разрыв шаблона - на скриншоте первые символы 6d2458e2, а не 6d1234e2. Там вообще нужный контейнер показан? По тесту сообщения выходит что нет. Полагаю правильная переписка всех символов из длинного идентификатора правильного контейнера должна помочь после того как правильный контейнер появится в списке.

thanks 1 пользователь поблагодарил two_oceans за этот пост.
s.sokolko оставлено 23.11.2018(UTC)
Offline s.sokolko  
#6 Оставлено : 23 ноября 2018 г. 13:35:42(UTC)
s.sokolko

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

Группы: Участники
Зарегистрирован: 23.09.2015(UTC)
Сообщений: 47
Российская Федерация
Откуда: Тюмень

Сказал(а) «Спасибо»: 15 раз
Автор: two_oceans Перейти к цитате
Автор: Евгений Афанасьев Перейти к цитате
При сохранении testcontainer в HDImageStore будет получена папка вида testcont.XXX.
Заметьте что алиас "testcontainer", а в имя папки пошли только "testcont". Таким образом, если дружественное имя состоит из латинских цифр и букв в имя папки берется первые 8 символов. В Вашем случае 6d1234e2 это только первые 8 символов алиаса. По Вашему скриншоту вообще разрыв шаблона - на скриншоте первые символы 6d2458e2, а не 6d1234e2. Там вообще нужный контейнер показан? По тесту сообщения выходит что нет. Полагаю правильная переписка всех символов из длинного идентификатора правильного контейнера должна помочь после того как правильный контейнер появится в списке.



Да, Вы правы, это разные контейнеры. На скрин-шоте окончательный вариант. Переписал длинный идентификатор в качестве алиаса, вроде помогло. Теперь возникает другая ошибка, но это уже не по поводу контейнера :-) Всем спасибо!
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.