softHSM を Hyperledger Fabric と統合しようとしています。以下の手順に従いました。
このリンクからリポジトリを複製しました https://github.com/hyperledger/fabric-ca (main-branch)
上記ディレクトリから以下の3つのコマンドを実行。実行後、新しいバイナリと新しい Fabric-CA イメージを取得しました。
make fabric-ca-server GO_TAGS=pkcs11
make fabric-ca-client GO_TAGS=pkcs11
ドッカーを作る GO_TAGS=pkcs11
古いバイナリ (fabric-ca-client と fabric-ca-server) を置き換えました
docker コンテナーで Fabric-CA をスピンアップしようとしており、公式ドキュメントに従って環境変数を渡しています。
ORG1_RCA:
image: hyperledger/fabric-ca:1.5.1 container_name: ORG1_RCA environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server - FABRIC_CA_SERVER_CA_NAME=ORG1_RCA - FABRIC_CA_SERVER_TLS_ENABLED=true - FABRIC_CA_SERVER_PORT=7054 - FABRIC_CA_SERVER_BCCSP_DEFAULT=PKCS11 - FABRIC_CA_SERVER_BCCSP_PKCS11_LIBRARY=/etc/hyperledger/fabric/libsofthsm2.so - FABRIC_CA_SERVER_BCCSP_PKCS11_PIN= - FABRIC_CA_SERVER_BCCSP_PKCS11_LABEL= ports: - 7054:7054 command: sh -c 'fabric-ca-server start -b admin:adminpw -d' environment: - SOFTHSM2_CONF=/etc/hyperledger/fabric/config.file volumes: - ./fabric-ca/verizon:/etc/hyperledger/fabric-ca-server - /home/softhsm/config.file:/etc/hyperledger/fabric/config.file - /usr/local/lib/softhsm/libsofthsm2.so:/etc/hyperledger/fabric/libsofthsm2.so networks: - contract
セキュリティ上の理由から PIN とラベルを提供していません。このコンテナーを実行しているとき、秘密鍵は HSM ではなく msp/keystore フォルダーに保存されます。