第71章 crypto(JCE)コンポーネント
Camel バージョン 2.3 の時点で利用可能
Camel 暗号化エンドポイントと Java の Cryptographic エクステンションを使用すると、Exchange 用のデジタル署名を簡単に作成できます。Camel は、エクスチェンジのワークフローの 1 つの部分でエクスチェンジの署名を作成するために使用する柔軟なエンドポイントのペアを提供し、後続のワークフローで署名を検証します。
Maven ユーザーは、このコンポーネントの pom.xml
に以下の依存関係を追加する必要があります。
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-crypto</artifactId> <version>x.x.x</version> <!-- use the same version as your Camel core version --> </dependency>
71.1. はじめに
デジタル署名は、非対称暗号方式を使用してメッセージの署名を行います。(未検証)高レベルから、アルゴリズムは、1 つの鍵で暗号化した特別なプロパティーと必須の鍵のペアを使用します。これは、一方の鍵で暗号化したデータを他の鍵とのみ復号できます。1 つは秘密鍵だけで、メッセージが「署名」するために使用されます。一方、もう一方の公開鍵は、署名されたメッセージを検証することを検討している人に共有されます。メッセージは秘密鍵を使用してメッセージのダイジェストを暗号化することで署名されます。この暗号化されたダイジェストはメッセージと共に送信されます。反対に、検証子はメッセージダイジェストを再計算し、パブリックキーを使用して署名のダイジェストを復号化します。両方のダイジェストが検証者と一致する場合は、秘密鍵のホルダーのみが署名を作成できます。
Camel は Java Cryptographic Extension の Signature サービスを使用して、交換署名の作成に必要なすべての大きな暗号化状態を実行します。以下は、暗号、メッセージダイジェスト、デジタル署名、および JCE で活用する方法を説明するための優れたリソースです。
- Bruce Schneier の Applied Cryptography
- Welcomed Hook による Java による暗号化の開始
- 発見された Wikipedia Digital_signatures