Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.10.2019(UTC) Сообщений: 56  Откуда: Новосибирск Сказал(а) «Спасибо»: 14 раз
|
Здравствуйте. Есть проект на linux на стеке технологий SpringBoot, OpenJDK11, JCP 5.0.40621-A. Проект запускается и корректно работает как из среды разработки (IDEA) так и с jar-ника. Пытаюсь настроить проект в docker'е (ранее на OpenJDK8 + jcp-2.0.40424 в контейнере всё работало). DockerfileLocal: Код:FROM azul/zulu-openjdk:11
ENV JAVA_HOME=/usr/lib/jvm/zulu-11-amd64/
ENV JAVA_JRE=/usr/lib/jvm/zulu-11-amd64/
ENV SPRING_PROFILES_ACTIVE=localstand
WORKDIR /auth
ADD ./local/docker/for_csp.tar.gz .
RUN mkdir ./local
RUN mkdir ./local/crl && mkdir ./local/cert && mkdir ./local/cert_participant
RUN dpkg -i ./for_csp/libwrap0_7.6.q-28_amd64.deb \
&& dpkg -i ./for_csp/libpcsclite1_1.8.10-1ubuntu1.1_amd64.deb \
&& dpkg -i ./for_csp/libusb-1.0-0_1.0.22-2_amd64.deb \
&& dpkg -i ./for_csp/libccid_1.4.15-1_amd64.deb \
&& dpkg -i ./for_csp/pcscd_1.8.10-1ubuntu1.1_amd64.deb
ADD ./target/auth-0.0.1.RELEASE.jar ./auth-0.0.1.RELEASE.jar
ADD ./target/JCP.jar /auth/dist/JCP.jar
RUN java -cp /auth/dist/JCP.jar ru.CryptoPro.JCP.Util.SetPrefs -system -node ru/CryptoPro/JCP -key HDImageStore_class_default -value /auth/local/keystore/
#CMD java -Dspring.profiles.active=localstand -Xdebug -Xrunjdwp:server=y,transport=dt_socket,suspend=n -jar ./auth-0.0.1.RELEASE.jar
Собираю: Код:sudo docker build --no-cache -t spring-auth-dev11 . -f=DockerfileLocal
Запускаю контейнер: Код:sudo docker run -it --privileged --volume=/home/cab/Project/auth/local/cert/:/auth/local/cert/ --volume=/home/cab/Project/auth/local/cert_participant/:/auth/local/cert_participant/ --volume=/home/cab/Project/auth/local/crl/:/auth/local/crl/ --volume=/home/cab/Project/auth/local/keystore/:/auth/local/keystore/ --publish=8081:8080 --rm=true --network=auth_app --name=spring-auth-dev11 spring-auth-dev11
Запускаю в контейнере: Код:java -Dspring.profiles.active=localstand -jar ./auth-0.0.1.RELEASE.jar
В коде java выполняется: Код:
Security.addProvider(new ru.CryptoPro.JCP.JCP());
Security.addProvider(new RevCheck());
Security.addProvider(new ru.CryptoPro.Crypto.CryptoProvider());
final KeyStore keyStore = KeyStore.getInstance(JCP.HD_STORE_NAME);
keyStore.load(null, null);
System.out.println("keyStore.size(): " + keyStore.size());
На выходе в консоли вижу "keyStore.size() 0", хотя в /auth/local/keystore/ лежит с десяток папок с ключами. Если зайти в контейнере в (ранее сформированный командой ru.CryptoPro.JCP.Util.SetPrefs из докерфайла) файл /etc/.java/.systemPrefs/ru/CryptoPro/JCP/prefs.xml то там всё заполненно корректно: Код:<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE map SYSTEM "http://java.sun.com/dtd/preferences.dtd">
<map MAP_XML_VERSION="1.0">
<entry key="HDImageStore_class_default" value="/auth/local/keystore/"/>
</map>
Не подскажите, в чём может быть проблема? Почему в контейнер на версиях OpenJDK11 и JCP 5.0.40621 программа перестаёт видеть переадресованный HDImageStore, а вне контейнера или на OpenJDK8 + jcp-2.0.40424 видит ключи в переадресованном HDImageStore корректно?
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,215  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 285 раз в 265 постах
|
Добрый день! попробуйте Код:HDImageStore.setDir(String pathHD)
по умолчанию hdimage находится по пути /var/opt/cprocsp/keys/$USER/ |
|
 1 пользователь поблагодарил Санчир Момолдаев за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.10.2019(UTC) Сообщений: 56  Откуда: Новосибирск Сказал(а) «Спасибо»: 14 раз
|
Аллилуйя! Действительно удалось перенаправить путь к HDImageStore через команду HDImageStore.setDir(). На мой взгляд, эту фишку не лишне будет добавить в документацию. Вдруг ещё кто с такой задачей столкнётся. Спасибо!
|
|
|
|
Статус: Сотрудник
Группы: Модератор, Участники Зарегистрирован: 03.12.2018(UTC) Сообщений: 1,215  Сказал(а) «Спасибо»: 101 раз Поблагодарили: 285 раз в 265 постах
|
Автор: Алексей Черенцов  Аллилуйя! Действительно удалось перенаправить путь к HDImageStore через команду HDImageStore.setDir(). На мой взгляд, эту фишку не лишне будет добавить в документацию. Вдруг ещё кто с такой задачей столкнётся. Спасибо! она есть в документации на JCP руководство программиста |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 30.10.2019(UTC) Сообщений: 56  Откуда: Новосибирск Сказал(а) «Спасибо»: 14 раз
|
Цитата:она есть в документации на JCP руководство программиста Странно. Вот я устанавливал в maven библиотеки JCP из пакета с самыми последнеми доступными изменениями - "java-csp-5.0.40621-A". В этом пакете в папке "doc" есть две папки "Java_CSP_KC1" и "Java_CSP_KC2". В обоих этих папках руководство программиста - это четыре файла "ЖТЯИ.00101-01 96 02. Руководство программиста. JavaCSP", "ЖТЯИ.00101-01 96 03. Руководство программиста. JavaTLS.pdf", "ЖТЯИ.00102-01 96 02. Руководство программиста. JavaCSP.pdf" и "ЖТЯИ.00102-01 96 03. Руководство программиста. JavaTLS.pdf". Поиск в этих файлах по слову "setDir" ничего не даёт. При этом в старом августовском пакете jcp-2.0.40450-A в "ЖТЯИ.00091-03 33 01-02. Руководство программиста.pdf" метод setDir у HDImageStore описан. Но в свежем январском пакете "java-csp-5.0.40621-A" этой информации нет. Так что, на мой взгляд, не помешает добавить информацию о setDir в "руководство программиста JavaCSP" или включать в пакет "java-csp" ещё и "руководство программиста JCP" Отредактировано пользователем 20 марта 2020 г. 4:58:27(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Ну вы ставили дистрибутив Java CSP, он хоть и включает в себя JCP и может там функционировать, но вообще то это другой криптопровайдер. У них и документация разная. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close