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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline tandser  
#1 Оставлено : 21 марта 2024 г. 8:52:37(UTC)
tandser

Статус: Новичок

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

Здравствуйте, уважаемая служба поддержки.

Столкнулся со следующей ошибкой:

Код:

java.security.KeyStoreException: HDImageStore not found
        at java.security.KeyStore.getInstance(KeyStore.java:899)
        at com.example.demo.service.SignService.test(SignService.java:35)
        at com.example.demo.DemoApplication.main(DemoApplication.java:14)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:49)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:108)
        at org.springframework.boot.loader.Launcher.launch(Launcher.java:58)
        at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:88)
Caused by: java.security.NoSuchAlgorithmException: no such algorithm: HDImageStore for provider JCSP
        at sun.security.jca.GetInstance.getService(GetInstance.java:87)
        at sun.security.jca.GetInstance.getInstance(GetInstance.java:206)
        at java.security.Security.getImpl(Security.java:698)
        at java.security.KeyStore.getInstance(KeyStore.java:896)
        ... 10 more


Исходные данные:

Имеется скачанный java-csp-5.0.41975.zip. В распакованном архиве в директории Doc\docker\jcsp взял Dockerfile за образец, добавив туда еще копирование контейнера с ключами с другого компа и jar своего приложения. В итоге имею:

Код:

FROM ubuntu:latest
LABEL Description="This image is used to install & check Java CSP"

# Дистрибутив версии JAVA_CSP_VERSION должен находиться в одной папке с Dockerfile.
# Запуск производится с помощью команды, например, для Java CSP версии 5.0.40714 для
# пользователя с логином LOGIN и паролем PASSWORD, зарегистрированными на сайте cryptopro.ru:
# docker build --no-cache -t java-csp-inst --build-arg JAVA_CSP_VERSION=5.0.40714 --build-arg LOGIN=<your_login> --build-arg PASSWORD=<your_password> .

RUN locale -a
RUN locale

# Переданная извне версия Java CSP.
ARG JAVA_CSP_VERSION

# Переданный извне логин.
ARG LOGIN

# Переданный извне пароль.
ARG PASSWORD

ENV LANG     C.UTF-8   
ENV LC_ALL   C.UTF-8
ENV LC_CTYPE C.UTF-8

RUN ls -las

# Копирование дистрибутива Java CSP из контекста в папку distrib.

RUN mkdir -p /distrib
COPY /java-csp-$JAVA_CSP_VERSION.zip /distrib/

WORKDIR /distrib
RUN ls -las

# Установка дополнительного ПО: wget и gnupg2.

RUN locale
RUN apt-get update

RUN apt-get --assume-yes install wget
RUN apt-get --assume-yes install gnupg2

# Установка CSP 5.0 KC1 из deb-репозитория: 
# https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=90351#post90351

RUN sh -c 'echo "deb https://$LOGIN:$PASSWORD@cryptopro.ru/repo/deb 5.0-unstable main" >/etc/apt/sources.list.d/cprocsp.list'
RUN wget --quiet https://www.cryptopro.ru/sites/default/files/products/csp/cryptopro_key.pub
RUN apt-key add cryptopro_key.pub
RUN apt-get update

RUN apt-get --assume-yes install lsb-cprocsp-base lsb-cprocsp-kc1-64 lsb-cprocsp-ca-certs cprocsp-curl-64 lsb-cprocsp-rdr-64 lsb-cprocsp-capilite-64 

# Копирование контейнера

COPY --chmod=777 09d18b59.000 /var/opt/cprocsp/keys/root/09d18b59.000

# Проверка установки.

RUN /opt/cprocsp/sbin/amd64/cpconfig -license -view

# Установка дополнительного ПО: zip и java.

RUN apt-get --assume-yes install zip unzip
RUN apt-get --assume-yes install openjdk-8-jdk

RUN java -version

# Распаковка дистрибутива Java CSP.

RUN unzip -q java-csp-$JAVA_CSP_VERSION.zip
WORKDIR java-csp-$JAVA_CSP_VERSION

# Установка JCP и Java CSP из дистрибутива.
# Java CSP задан провайдером по умолчанию
# (-default_provider 1).

RUN java -cp .:*: ru.CryptoPro.Installer.InstallerConsole -force -install -jcp -jcsp -default_provider 1

# Проверка установки.

RUN echo "#!/bin/sh" > ./test.sh && echo "" >> ./test.sh && echo "java ru.CryptoPro.JCSP.JCSPLicense -required" >> ./test.sh && echo "java ru.CryptoPro.JCP.tools.Check -all" >> ./test.sh && chmod +x ./test.sh

# Копирование приложения

COPY --chmod=777 /demo-0.0.1-SNAPSHOT.jar /distrib/java-csp-$JAVA_CSP_VERSION/

CMD ["./test.sh"]


Образ успешно билдится и запускается. Запустив контейнер и стартую в нем свое приложение:

Код:

docker run --publish=8080:8080 --rm -it --entrypoint bash java-csp-inst


Код:

java -jar ./demo-0.0.1-SNAPSHOT.jar


На выходе получаю ошибку, которую привел в начале. В приложении выполняется следующий код:

Код:

public class SignService {

    static {
        System.setProperty("com.sun.security.enableCRLDP", "true");
        System.setProperty("com.ibm.security.enableCRLDP", "true");

        Security.setProperty("ocsp.enable", "true");

        Provider[] providers = Security.getProviders();

        System.out.println("Providers: " + Arrays.toString(providers));
    }

    public static void test() {
        try {
            KeyStore keyStore = KeyStore.getInstance(JCP.HD_STORE_NAME, "JCSP");

            keyStore.load(null, null);

            Enumeration<String> aliases = keyStore.aliases();

            System.out.println(aliases);
        } catch (Exception exc) {
            exc.printStackTrace();
        }
    }
}


Если попробовать вместо HDImageStore получить REGISTRY, то валится с той же ошибкой: Caused by: java.security.NoSuchAlgorithmException: no such algorithm: REGISTRY for provider JCSP.

Подскажите, пожалуйста, в чем может быть проблема.

Также прикладываю файл диагностики: checkAll.txt (10kb) загружен 0 раз(а).

Отредактировано пользователем 21 марта 2024 г. 9:17:13(UTC)  | Причина: Не указана

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