Настройка Docker с PKCS11 - PullRequest
       82

Настройка Docker с PKCS11

0 голосов
/ 23 ноября 2018
  • Фон

    Мы разрабатываем приложение Spring, которое выполняет криптографические операции.Требование проекта состоит в том, что реализация этого приложения должна быть независимой от конкретных библиотек HSM (поскольку клиент может иметь любой HSM), и, следовательно, мы использовали интерфейс SunPKCS11.Интерфейсу SunPKCS11 необходим путь к файлу библиотеки HSM, который реализует общий интерфейс PKCS11.Таким образом, любой HSM, в котором реализована библиотека PKCS11, будет работать с приложением.

  • Текущее состояние

    У нас есть хост-компьютер для тестирования, на котором установлен HSM.Установщик HSM также предоставляет библиотеку, которая реализует интерфейс PKCS11.Мы планируем развернуть это приложение с помощью Docker.Поскольку приложение должно быть независимым от библиотеки HSM, мы создали образ докера, в котором не указана информация, специфичная для HSM.Тем не менее, у нас есть смонтированная полная папка lib (где присутствует библиотека реализации PKCS11) HSM с использованием файла docker-compose.Когда мы выполняем docker-compose, это выдает ошибку для библиотеки, которая принадлежит HSM (хотя она смонтирована в папке lib).

Ошибка при загрузке общей библиотеки xxx.so

  • Вопрос

    1. Должен ли я использовать докер в этом случае?Я видел обсуждения в Интернете, чтобы получить доступ к устройствам, используя докер, и ответом было в основном использовать какой-то другой образ докера, который зависит от конкретного устройства.Тем не менее, я не знаю, будет ли HSM для использования с приложением (на стороне клиента) иметь такой образ докера.
    2. Если так, будет ли хорошей идеей смонтировать папку lib в HSM?Во время установки HSM я установил файлы 3 об / мин.Эти 3 установки могут иметь дополнительные библиотеки, которые потребуются для взаимодействия с HSM.
    3. В случае правильного подхода, что является причиной ошибки?

Dockerfile

FROM some/url/xxxbuild:openjdk8u151-alpine3.7-1.0.0
LABEL maintainer "Team"
ENV APP_USER myapp
ENV APP_HOME /opt/my/app
USER $APP_USER
RUN madir -p $APP_HOME/config

docker-compose file

my-microservice:
image: my-microservice:1.1.0-SNAPSHOT
container_name: my-microservice-container
restart: on-failure
environment:
  SERVER_PORT: 9999
  JAVA_OPTS: -Dlog4j.configurationFile=/opt/gd/app/config/log4j2.xml
ports:
  - 8888:9999
volumes:
  - ./applicationSpecificFile:/opt/gd/app/config
  - /opt/hsm/lib:/opt/hsm/lib       <-- HSM Specific lib files

Я новичок в Docker и Linux.Дайте мне знать, если я пропущу что-то упомянуть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...