Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.09.2015(UTC) Сообщений: 47 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Тюмень Сказал(а) «Спасибо»: 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)
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Здравствуйте. Код:
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. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.09.2015(UTC) Сообщений: 47 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Тюмень Сказал(а) «Спасибо»: 15 раз
|
Благодарю за оперативный ответ! Попробовал указать 6d1234e2. К сожалению, не помогло. Подскажите, пожалуйста, на какой вкладке панели управления JCP можно просмотреть алиасы контейнеров? Пробовал найти у себя в системе, пока не удалось Ниже скрин-шот панели JCP ![](/forum2/Themes/soclean/icon_file.gif) 2018-11-23-142955_802x797_scrot.png (44kb) загружен 80 раз(а).Отредактировано пользователем 23 ноября 2018 г. 12:36:56(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,005 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Длинное имя - 6d24..., внутри которого отображается ключ и сертификат. |
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Автор: Евгений Афанасьев ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) При сохранении testcontainer в HDImageStore будет получена папка вида testcont.XXX. Заметьте что алиас "testcontainer", а в имя папки пошли только "testcont". Таким образом, если дружественное имя состоит из латинских цифр и букв в имя папки берется первые 8 символов. В Вашем случае 6d1234e2 это только первые 8 символов алиаса. По Вашему скриншоту вообще разрыв шаблона - на скриншоте первые символы 6d2458e2, а не 6d1234e2. Там вообще нужный контейнер показан? По тесту сообщения выходит что нет. Полагаю правильная переписка всех символов из длинного идентификатора правильного контейнера должна помочь после того как правильный контейнер появится в списке.
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил two_oceans за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 23.09.2015(UTC) Сообщений: 47 ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Откуда: Тюмень Сказал(а) «Спасибо»: 15 раз
|
Автор: two_oceans ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Автор: Евгений Афанасьев ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) При сохранении testcontainer в HDImageStore будет получена папка вида testcont.XXX. Заметьте что алиас "testcontainer", а в имя папки пошли только "testcont". Таким образом, если дружественное имя состоит из латинских цифр и букв в имя папки берется первые 8 символов. В Вашем случае 6d1234e2 это только первые 8 символов алиаса. По Вашему скриншоту вообще разрыв шаблона - на скриншоте первые символы 6d2458e2, а не 6d1234e2. Там вообще нужный контейнер показан? По тесту сообщения выходит что нет. Полагаю правильная переписка всех символов из длинного идентификатора правильного контейнера должна помочь после того как правильный контейнер появится в списке. Да, Вы правы, это разные контейнеры. На скрин-шоте окончательный вариант. Переписал длинный идентификатор в качестве алиаса, вроде помогло. Теперь возникает другая ошибка, но это уже не по поводу контейнера :-) Всем спасибо!
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close