第71章 Crypto (JCE) コンポーネント
Camel バージョン 2.3 以降で利用可能
Camel 暗号化エンドポイントと Java の暗号化拡張機能を使用すると、エクスチェンジ用のデジタル署名を簡単に作成できます。Camel は、取引所のワークフローの一部で取引所の署名を作成し、ワークフローの後半で署名を検証するために協調して使用される柔軟なエンドポイントのペアを提供します。
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 つのキーで暗号化されたデータは、もう一方のキーでのみ復号化できるという特別なプロパティーを持つ補完的なキーのペアを使用します。一方の秘密鍵は厳重に保護され、メッセージの署名に使用され、もう一方の公開鍵は、署名されたメッセージの検証に関心のあるすべての人に共有されます。メッセージは、秘密鍵を使用してメッセージのダイジェストを暗号化することによって署名されます。この暗号化されたダイジェストは、メッセージとともに送信されます。一方、検証者はメッセージダイジェストを再計算し、公開鍵を使用して署名内のダイジェストを復号化します。両方のダイジェストが一致する場合、検証者は、秘密鍵の所有者だけが署名を作成した可能性があることを認識します。
Camel は、Java 暗号化拡張機能の署名サービスを使用して、エクスチェンジ署名の作成に必要なすべての重い暗号処理を行います。以下は、暗号化、メッセージダイジェスト、およびデジタル署名の仕組みと、それらを JCE で活用する方法を説明する優れたリソースです。
- Bruce Schneier の応用暗号
- David Hook による Java による暗号化の開始
- 洞察に満ちたウィキペディア Digital_signatures