使用Maven时出现“jssecacerts PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilde”错

本文介绍了在使用Maven时遇到的'jssecacerts PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException'错误的两种解决方案:一是通过命令行参数忽略SSL证书检查,二是生成JDK证书并导入到JRE的安全库中,重启系统后执行mvn命令时指定信任证书路径。
摘要由CSDN通过智能技术生成

方法一:忽略SSL证书检查

在Maven命令后加入参数“-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true”

方法二. 生成JDK证书并导入JRE security中

1. 生成JDK证书

import javax.net.ssl.*;
import java.io.*;
import java.security.KeyStore;
import java.security.MessageDigest;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

public class InstallCert {

    public static void main(String[] args) throws Exception {
        String host;
        int port;
        char[] passphrase;
        if ((args.length == 1) || (args.length == 2)) {
            String[] c = args[0].split(":");
            host = c[0];
            port = (c.length == 1) ? 443 : Integer.parseInt(c[1]);
            String p = (args.length == 1) ? "changeit" : args[1];
            passphrase = p.toCharArray();
        } else {
            System.out
                    .println("Usage: java InstallCert <host>[:port] [passphrase]");
            return;
        }

        File file = new File("jssecacerts");
        if (file.isFile() == false) {
            char SEP = File.separatorChar;
            File dir = new File(System.getProperty("java.home") + SEP + "lib"
                    <
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException是一个Java误,它表示在建立PKIX路径出现问题,无法找到到所请求目标的有效认证路径。 解决这个问题的常用方法是下载站点证书,并将其导入到Java的信任库中。你可以在IDEA的设置中找到Maven选项,然后在VM Options中添加以下命令:-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true。然后清除IDEA的缓存,重新运行代码。但是这种解决方案只在当前项目中生效,如果想要永久生效,你需要更改IDEA的全局设置。 另外,如果你在使用抓包软件(如proxyman或Charles)出现误,解决方法是让Java信任抓包软件颁发的证书。首先,将根证书保存为Base 64编码的证书(.pem)文件,然后使用keytool工具将其导入到Java的根证书信任库中。例如,可以使用以下命令将根证书导入到cacerts文件中: sudo keytool -import -alias proxyman -file $JAVA_HOME/Proxyman.pem -keystore $JAVA_HOME/lib/security/cacerts -storepass changeit 然后输入"yes"确认导入。最后,可以使用以下命令查询导入结果: sudo keytool -list -keystore $JAVA_HOME/lib/security/cacerts -storepass changeit | grep "proxyman" 通过以上方法,你应该可以解决idea PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [gradle-trust-all:一个用于禁用 SSL 证书验证的 gradle 插件](https://download.csdn.net/download/weixin_42120541/19325493)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilder](https://blog.csdn.net/weixin_46028606/article/details/130461376)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [(已解决)PKIX path building failed: sun.security.provider.certpath](https://blog.csdn.net/qq_35760825/article/details/128895073)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值