JCE プロバイダーは、Sun Java Cryptography Extension(JCE)フレームワークをインストール・有効化するコンポーネントです。Java Cryptography Architecture(JCA)標準で定義されたインタフェースおよびエンジンクラスを用いて、暗号化機能を実装します。本トピックでは、JCE プロバイダーのインストール手順について説明します。
前提条件
ハードウェアセキュリティモジュール(HSM)インスタンスが初期化済みであり、暗号化ユーザー(CU)が作成済みである必要があります。詳細については、「クイックスタート」をご参照ください。
HSM クライアント (hsm_proxy) が起動されました。詳細については、「HSM クライアント (hsm_proxy) の起動」をご参照ください。
JDK バージョン 1.8 を使用しています。
操作手順
JCE プロバイダーをダウンロードしてインストールします。
オペレーティングシステム
説明
CentOS 8
以下のコマンドを実行して、JCE プロバイダーをインストールします。
sudo rpm -ivh ./hsm-client-jce-v2.03.15.10-2.el8.x86_64.rpm
Debian
hsm-client-jce-2.03.15.10-20240710_1.x86_64.deb にアクセスし、JCE プロバイダーのインストールパッケージをダウンロードします。
以下のコマンドを実行して、JCE プロバイダーをインストールします。
sudo dpkg -i hsm-client-jce-2.03.15.10-20240710_1.x86_64.deb
インストールが成功したことを確認します。
以下のすべてのファイルが存在すれば、インストールは成功しています。
/opt/hsm/java/caviumjca-1.0.0-jar-with-dependencies.jar
/opt/hsm/java/hamcrest-core-1.3.jar
/opt/hsm/java/junit-4.12.jar
/opt/hsm/java/hsm-test-1.0.0.jar
/opt/hsm/java/log4j-api-2.17.0.jar
/opt/hsm/java/log4j-core-2.17.0.jar
/opt/hsm/lib/libcaviumjca.so
インストール検証
アプリケーション内で、CU ユーザーの情報を用いて環境変数を設定できます。
説明user nameおよびpasswordを、CU ユーザーのユーザー名およびパスワードに置き換えてください。export LD_LIBRARY_PATH=/opt/hsm/lib export HSM_PARTITION=PARTITION_1 export HSM_USER=user name export HSM_PASSWORD=passwordJCE プロバイダーの基本機能をテストします。
java -classpath "/opt/hsm/java/*" org.junit.runner.JUnitCore TestBasicFunctionality操作が成功した場合、期待される出力は以下のとおりです。
JUnit version 4.12 .2021-03-12 13:56:40,527 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:33) - Adding provider. 2021-03-12 13:56:40,721 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:42) - Logging in. 2021-03-12 13:56:40,721 INFO [main] cfm2.LoginManager (LoginManager.java:244) - Looking for credentials in HsmCredentials.properties 2021-03-12 13:56:40,722 INFO [main] cfm2.LoginManager (LoginManager.java:262) - Looking for credentials in System.properties 2021-03-12 13:56:40,722 INFO [main] cfm2.LoginManager (LoginManager.java:270) - Looking for credentials in System.env 2021-03-12 13:56:40,750 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:54) - Generating AES Key with key size 256. 2021-03-12 13:56:40,765 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:63) - Encrypting with AES Key. 2021-03-12 13:56:40,813 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:84) - Deleting AES Key. 2021-03-12 13:56:40,816 DEBUG [main] TestBasicFunctionality (TestBasicFunctionality.java:92) - Logging out. Time: 0.328 OK (1 test)