当前位置: 首页 > 知识库问答 >
问题:

Java邮件TLS认证

阎渝
2023-03-14

我试图掌握Java邮件API和TLS的基本原理。我有以下情况:

有一个使用TLS的STMP服务器

然后我尝试在另一台机器上运行一个web服务器,它使用前面提到的SMTP服务器发送邮件。我还是想发TLS

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我发现很多人都有类似的问题,但我的问题是:

考虑到前面描述的场景,我是否必须向web服务器(可能在JRE中的某个地方)获取某种证书,还是因为邮件服务器已经有了该证书,它就可以正常工作

我对JavaMail API非常陌生,我看过很多关于这方面的文章,但我找不到答案

共有2个答案

汪永春
2023-03-14

答案在JavaMail常见问题解答中。

引用链接站点的文本:

问:当通过SSL连接到我的邮件服务器时,我遇到了一个异常,比如“找不到有效的认证路径,无法到达请求的目标”。

答:您的服务器可能正在使用测试证书或自签名证书,而不是由商业证书授权中心签名的证书。需要将服务器的证书安装到信任存储区中。InstallCert程序将有所帮助。

或者,您可以将“mail.protocol.ssl.trust”属性设置为邮件服务器的主机名。有关详细信息,请参阅javadocs协议提供程序包。

这个问题的其他常见原因是:

  • 有防火墙或防病毒程序拦截您的请求。
  • 您的JDK安装中存在错误,无法找到受信任的证书颁发机构的证书。
  • 您正在一个应用程序服务器中运行,该服务器已经覆盖了JDK的受信任证书颁发机构列表。
南门嘉
2023-03-14

您的客户机(即在Web服务器上运行的客户机)需要验证邮件服务器的SSL证书。您的java信任库似乎不包含该证书。

因此,您要么需要将该证书放入JRE的默认信任库(我不建议这样做),要么为应用程序定义一个不同的信任库(当然需要包含邮件服务器证书)。为此,请设置以下VM参数:Djavax。网ssl。信托商店=

编辑:啊,我错过了你问题的一部分。要获取邮件服务器的证书,请使用类似openssl的东西。参见例如:https://serverfault.com/questions/139728/how-to-download-ssl-certificate-from-a-website

 类似资料:
  • 我正在尝试使用Java Mail API发送邮件 它在本地运行完美,但在Openshift上提供AuthenticationFailedException。下面是openshift错误日志。 另一种解决方案:我尝试了Mailgun,而不是Gmail SMTP,它公开了其API以REST服务的形式发送邮件。对于开发人员来说,这是免费的,使用免费帐户可以发送的邮件数量有上限。它在Openshift上工

  • 主要内容:创建用户,登录,注销在本章中,我们将向您介绍如何使用Firebase电子邮件/密码身份验证。在开始之前,需要设置登录方法,参考以下图所示 - 点击设置登录方法,然后选择电子邮件地址/密码,打开启用并保存,如下图所示 - 创建用户 要验证用户,可以使用方法。 示例 让我们来看看下面的一个例子。参考代码 - 接下来,您可以检查Firebase仪表板中的数据库,并查看用户是否已创建成功。如下所示,已经创建了一个用户账号 -

  • 概述 Istio Auth的目标是提高微服务及其通信的安全性,而不需要修改服务代码。它负责: 为每个服务提供强大的身份,代表其角色,以实现跨集群和云的互通性 加密服务间通信和终端用户到服务的通信 提供密钥管理系统来自动执行密钥和证书的生成、分发、轮换和撤销 架构 下图展示Istio Auth架构,其中包括三个主要组件:身份、密钥管理和通信安全。它描述了Istio Auth如何用于加密服务间通信,在

  • null 在mail.log中的ColdFusion日志文件中看到以下错误: “错误”,“Scheduler-1”,“03/22/16”,“19:39:21”,“无法向SMTP主机发送命令” 我运行WireShark并捕获了一些数据包,看起来它确实连接到了服务器,一些通信来回进行,然后它中止。 我错过了什么?还有没有其他的日志文件可以更好地说明这个问题? 谢谢

  • 有问题的电子邮件是这样的:

  • filter.network.ClientSSLAuth TLS客户端身份认证配置概述 filter.network.ClientSSLAuth filter.network.ClientSSLAuth proto { "auth_api_cluster": "...", "stat_prefix": "...", "refresh_delay": "{...}", "ip_whi