第167章 Jasypt コンポーネント


Camel 2.5 で利用可能

Jasypt は、暗号化と復号化を簡単にする単純化された暗号化ライブラリーです。Camel は Jasypt と統合して、プロパティー ファイル内の機密情報を暗号化できるようにします。クラスパスに camel-jasypt を ドロップすると、これらの暗号化された値は Camel によってオンザフライで自動的に復号化されます。これにより、ユーザー名やパスワードなどの機密情報を人間の目で簡単に見つけることができなくなります。

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>

167.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 では、cd で lib フォルダーに移動し、次の Java コマンドを実行します。<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== を 復号化して、secret のマスターパスワードを知っていれば 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.10.jar を含める必要があることを意味します。jar をクラスパスに追加する例は、java -jar …​ として実行する場合、jasypt7.10.jar を $JAVA_HOME\jre\lib\ext にコピーすることです。後者は -cp を使用してクラスパスに jasypt7.10.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

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.