带有PKCS11的Docker设置

时间:2018-11-23 10:20:36

标签: hsm sunpkcs11

  • 背景

    我们正在开发一个执行加密操作的Spring应用程序。项目的要求是此应用程序实现应独立于HSM特定的库(因为客户端可能具有任何HSM),因此我们使用SunPKCS11接口。 SunPKCS11接口需要一个HSM库文件的路径,该文件实现了常见的PKCS11接口。这样,任何具有库实现PKCS11接口的HSM都可以与应用程序一起使用。

  • 当前状态

    我们有用于测试HSM安装位置的主机。 HSM安装程序还提供了实现PKCS11接口的库。我们计划使用Docker部署此应用程序。由于应用程序应独立于HSM库,因此我们创建了docker映像,其中未提及HSM特定信息。但是,我们已经使用docker-compose文件挂载了HSM的完整lib文件夹(存在PKCS11实现库)。当我们执行docker-compose up时,它会为属于HSM的库提供错误(尽管它已安装在lib文件夹中)。

  

加载共享库xxx.so时出错

  • 问题

    1. 在这种情况下我应该使用docker吗?我已经看到互联网上使用docker访问设备的讨论,答案主要是使用其他特定于设备的docker映像。但是,我不知道要与应用程序一起使用的HSM(在客户端)是否会有这样的docker映像。
    2. 如果是,挂载HSM的lib文件夹是个好主意吗?在HSM安装期间,我已经安装了3个rpm文件。这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文件

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的新手。让我知道以防万一我想提些什么。

0 个答案:

没有答案