第157章 jasypt コンポーネント
Camel 2.5 で利用可能
j asypt は簡素化された暗号化ライブラリーで、暗号化と復号を容易にします。Camel は Jasypt と統合し、プロパティー ファイルの機密情報を暗号化できるようにします。暗号化した値は自動的に Camel によって復号化されます。クラスパスで camel-jasypt
を削除すると、その暗号化された値は自動的に Camel によって復号化されます。これにより、人間の eyes が、ユーザー名とパスワードなどの機密情報を簡単に見つけ出すことができません。
Maven を使用している場合は、このコンポーネントの pom.xml
に以下の依存関係を追加する必要があります。
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jasypt</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
Apache Karaf コンテナーを使用している場合は、以下の依存関係をこのコンポーネントの pom.xml
に追加する必要があります。
<dependency> <groupId>org.apache.karaf.jaas</groupId> <artifactId>org.apache.karaf.jaas.jasypt</artifactId> <version>x.x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
157.1. ツール
Jasypt コンポーネントは、値を暗号化または復号化するコマンドラインツールをほとんど提供します。
コンソールでは、構文と、提供するオプションが出力されます。
Apache Camel Jasypt takes the following options -h or -help = Displays the help screen -c or -command <command> = Command either encrypt or decrypt -p or -password <password> = Password to use -i or -input <input> = Text to encrypt or decrypt -a or -algorithm <algorithm> = Optional algorithm to use
たとえば、以下のパラメーターで実行した値tiger を暗号化するには、以下のコマンドを実行します。apache camel kit では、lib フォルダーに移動し、以下の java cmd を実行します。ここで、< CAMEL_HOME > は Camel ディストリビューションをダウンロードして抽出します。
$ cd <CAMEL_HOME>/lib $ java -jar camel-jasypt-2.5.0.jar -c encrypt -p secret -i tiger
以下の結果を出力する
Encrypted text: qaEEacuW7BUti8LcMgyjKw==
これは、暗号化された表現 qaEEacuW7BUti8LcMgyjKw==
は、シークレット
が作成されたマスターパスワードが分かっている場合は、tiger
に復号化できることを意味します。
ツールを再度実行すると、暗号化された値が別の結果を返します。値を復号すると、常に正しい元の値が返されます。
したがって、以下のパラメーターを使用してツールを実行してテストできます。
$ cd <CAMEL_HOME>/lib $ java -jar camel-jasypt-2.5.0.jar -c decrypt -p secret -i qaEEacuW7BUti8LcMgyjKw==
以下のような結果が出力されます。
Decrypted text: tiger
その後、プロパティー ファイルで暗号化された値を使用します。パスワードの値が暗号化され、値には ENC(value here)
の周りのトークンがあることに注意してください。
jasypt ツールを実行する場合は、java.lang.NoClassDefFoundError: org/jasypt/encryption/pbe/StandardPBEStringEncryptor
にまたがる場合は、クラスパスに jasypt7.1.jar を含める必要があります。jar をクラスパスに追加する例は、java -jar …
として実行される場合は jasypt7.1.jar を $JAVA_HOME\jre\lib\ext にコピーすることがあります。後者の場合は、-cp
を使用して jasypt7. 1.jar をクラスパスに追加できます。この場合、java -cp jasypt-1.9.2.jar:camel-jasypt-2.18.2.jar org.apache.camel.component.jasypt.Main -c encrypt -p secret -i tiger