Java调用Razorpay API获取orderId遇PKIX证书路径构建失败问题
解决Java调用Razorpay API的PKIX证书路径错误
这个错误的核心原因是:你仅仅将razorpay.crt文件放到JDK的lib/security目录,但JVM并不会自动读取该目录下的单独证书文件,必须把证书导入到JVM默认信任的cacerts密钥库中才能生效。
具体操作步骤:
确认cacerts文件路径
JDK 18的cacerts默认路径为:JDK-18/lib/security/cacerts,该文件的默认密码是changeit。使用keytool导入证书
打开终端/命令行,执行以下命令(替换实际文件路径):keytool -import -alias razorpay -file /你的路径/razorpay.crt -keystore /你的JDK路径/JDK-18/lib/security/cacerts执行后输入密码
changeit,然后输入y确认信任该证书。验证证书导入结果
执行以下命令检查证书是否成功导入:keytool -list -alias razorpay -keystore /你的JDK路径/JDK-18/lib/security/cacerts如果终端输出该证书的详细信息,说明导入成功。
额外注意事项
- 确保你导入证书的JDK是运行Java程序的那个JDK(系统中可能存在多个JDK版本,别导错)。
- 如果你用IDE运行程序,需要重启IDE让新的密钥库配置生效。
- 若程序使用的是JRE而非JDK,证书需要导入到JRE目录下的
lib/security/cacerts文件中。
内容的提问来源于stack exchange,提问作者Karthik Vignesh
相关产品推荐
相关产品推荐

