38.5. SSL 支持


底层邮件框架负责提供 SSL 支持。您可以通过完全指定必要的 Java 邮件 API 配置选项来配置 SSL/TLS 支持,或者通过组件或端点配置提供配置的 SSLContextParameters。

38.5.1. 使用 JSSE 配置工具

邮件组件通过 Camel JSSE 配置实用程序支持 SSL/TLS 配置。这个工具可显著减少您需要编写的组件特定代码数量,并在端点和组件级别进行配置。以下示例演示了如何将实用程序与邮件组件一起使用。

端点的编程配置

KeyStoreParameters ksp = new KeyStoreParameters();
ksp.setResource("/users/home/server/truststore.jks");
ksp.setPassword("keystorePassword");
TrustManagersParameters tmp = new TrustManagersParameters();
tmp.setKeyStore(ksp);
SSLContextParameters scp = new SSLContextParameters();
scp.setTrustManagers(tmp);
Registry registry = ...
registry.bind("sslContextParameters", scp);
...
from(...)
    .to("smtps://smtp.google.com?username=user@gmail.com&password=password&sslContextParameters=#sslContextParameters");

基于 Spring DSL 的端点配置

...
<camel:sslContextParameters id="sslContextParameters">
  <camel:trustManagers>
    <camel:keyStore resource="/users/home/server/truststore.jks" password="keystorePassword"/>
  </camel:trustManagers>
</camel:sslContextParameters>...
...
<to uri="smtps://smtp.google.com?username=user@gmail.com&password=password&sslContextParameters=#sslContextParameters"/>...

38.5.2. 直接配置 JavaMail

Camel 使用 Jakarta JavaMail,它只信任由已知的证书颁发机构(默认的 JVM 信任配置)发布的证书。如果您发布自己的证书,您必须将 CA 证书导入到 JVM 的 Java 信任存储文件中,请覆盖默认的 JVM 信任存储文件(请参阅 JavaMail 中的 SSLNOTES.txt )。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.