第 74 章 crypto (JCE)组件
从 Camel 版本 2.3 开始提供
通过 Camel 加密端点和 Java 的加密扩展,可轻松为交换创建数字签名。Camel 提供了一对灵活的端点,用于 concert 用于在交换工作流的一个部分中为交换创建签名,然后在工作流的后面部分验证签名。
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>
74.1. 简介
数字签名使用 Asymmetric Cryptographic 技术为消息签名。从(very)高级别,算法将 complimentary 密钥对与一个密钥加密的特殊属性一起使用,而数据只能相互解密。一个(私钥)被密切保护,用于"签署"消息,而另一个公钥则共享给有兴趣验证签名邮件的任何人。消息使用私钥签名,以加密消息摘要。这个加密摘要会与消息一起传输。在其他一端,verifier 会重新计算消息摘要,并使用公钥解密签名中的摘要。如果两个摘要都与 verifier 匹配,则只有私钥持有者才能创建签名。
Camel 使用 Java Cryptographic 扩展中的 Signature 服务来执行创建交换签名所需的所有重度加密机制。以下是解释加密、消息摘要和数字签名的机制以及如何将它们与 JCE 结合使用的一些好资源。
- Bruce Schneier 的 Applied Cryptography
- 开始使用 Java 被 David Hook 开始
- 过时的 Wikipedia Digital_signatures