主要观点:介绍 Mule 在消息安全方面遵循“不要重新发明轮子”原则,Anypoint Enterprise Security 套件可用于 Mule SOA 实现和 Web 服务的安全应用,重点关注 Mule 消息加密,包括三种加密策略(JCE 加密器、XML 加密器、PGP 加密器),并以 JCE 加密器为例讲解在 Anypoint Studio 中配置加密策略的步骤及测试。
关键信息:
- Anypoint Enterprise Security 是用于 Mule 安全的套件。
- Mule 有三种加密策略:JCE 加密器可加密流、字节数组或字符串;XML 加密器可加密字符串,使用 xpath 表达式加密单个字段;PGP 加密器可加密流、字节数组或字符串。
- 安装 Anypoint Enterprise Security 时,若初始安装不成功,可取消“Contact all update sites during install to find required software”复选框,成功安装后重启 Anypoint studio 可在安全组调色板下看到相关组件。
- 创建 Mule Maven 项目时要在 pom.xml 文件中添加特定仓库。
- 配置简单流程,包括发送 JSON 数据到 HTTP 端点,用 JCE 加密策略加密数据并记录,再解密并记录,流程中有全局加密元素配置、加密组件配置和解密组件配置等步骤。
- 测试时使用 Postman 发送 POST 请求,在 Anypoint 控制台可看到加密和解密后的消息,源代码可在这里获取,需使用“mvn eclipse:eclipse”导入 Maven 依赖。
重要细节: - 全局加密元素配置中要选择 Default Encryptor 下拉为 JCE_ENCRYPTER 并命名为 JCE。
- 加密组件配置中在 Connector Configuration 选择定义的全局加密元素 JCE,Operation 下拉选 Encrypt,Input Reference 字段放入整个有效载荷用于加密,可使用 MEL 表达式加密部分有效载荷,配置 JCE 加密器策略时要设置 Key、Key Password、Algorithm、Encryption Mode 等。
- 解密组件配置与加密类似,Operation 为 Decrypt。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。