解决 javassl PKIX path building failed: SunCertPathBuilderExcep

yumo6667个月前 (06-10)技术文章44

天公司邮箱服务器,更改必须TLS安全认证,原来java mail 邮件发送出现异常:

PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderExcep

该异常是客户端对服务器的证书认证的时候出错了,解决方案把服务器证书加到信任证书库里面

把该证书导入java中的cacerts证书库里

假设jdk安装目录:C:\Program Files\Java\jdk1.7.0_80\jre\lib\security

cmd命令行跳到这个目录

执行keytool -import -alias cacerts -keystore cacerts -file d:\software\CA.cer

此时命令行会提示你输入cacerts证书库的密码,

敲入changeit,这是java中cacerts证书库的默认密码

导入后用-list查看。

重启服务后,发送邮件正常。

ps:tomcat、junit运行时会从默认路径加载cacerts文件,如果main方法执行可以通过环境变量指定信任证书库路径。

相关文章

Java开发者的代码规范与习惯养成

Java开发者的代码规范与习惯养成作为一名Java开发者,养成良好的代码规范和习惯是迈向卓越的关键一步。代码规范不仅仅是为了让代码看起来整齐美观,更重要的是为了提高代码的可读性、可维护性和团队协作效率...

SpringBoot与Jasypt整合,实现数据库字段自动加密解密功能

使用Jasypt可以显著提升应用程序的数据安全性,简化加密操作,并提供灵活的配置选项。不仅有助于满足各种法规要求,还能提高开发效率和系统的整体稳定性。Jasypt的好处保护敏感信息用户数据: 加密存储...

在PyCharm中使用pyenv指定的Python:配置指南

在Python开发中,我们常常需要管理多个Python版本,以适应不同项目的需求。`pyenv` 是一个强大的工具,能够帮助我们轻松管理Python版本,而PyCharm则是一款广泛使用的Python...

Pytest+Allure,快速提升我们的测试效率

Allure 简介与安装Allure 是由 Java 语言开发的一个轻量级,灵活的测试报告工具。Allure 多平台的 Report 框架。Allure 支持多语言,包括 python、JaveScr...

Java代码保护方法之四:JVMTI实现Java源码保护

大家好,我叫小丁,一名小小程序员。今天继续介绍Java代码保护的第四种方案:JVMTI。采用ClassFinal和自定义类加载器这两种策略来保护Java代码时,它们面临的一个共同的主要挑战在于:加解密...