使用DataGrip连接Snowflake时出现No Trusted Certificate错误
解决DataGrip连接Snowflake报"No trusted certificate found"的方案
1. 对齐JDBC驱动版本
DBeaver能正常连接说明驱动本身没问题,先确认DataGrip用的Snowflake JDBC驱动版本和DBeaver完全一致:
- 打开DataGrip连接设置的「驱动」标签,查看当前版本;再去DBeaver的连接驱动配置里核对版本
- 版本不一致的话,要么在DataGrip里点击「下载」更新到对应版本,要么直接把DBeaver驱动目录里的Snowflake jar包复制到DataGrip的驱动目录(路径参考:Windows为
C:\Users\<用户名>\AppData\Roaming\JetBrains\DataGrip<版本>\drivers,Mac/Linux为~/.local/share/JetBrains/DataGrip<版本>/drivers)
2. 手动配置SSL信任库参数
在DataGrip连接设置的「高级」标签里,添加VM参数指定信任库:
-Djavax.net.ssl.trustStore=<你的JDK信任库路径> -Djavax.net.ssl.trustStorePassword=changeit
默认JDK信任库路径是
<JDK安装目录>/jre/lib/security/cacerts,默认密码是changeit;如果用的是自定义导入证书的信任库,替换成对应路径和密码
也可以直接在JDBC URL里追加参数:
&sslTrustStore=<信任库路径>&sslTrustStorePassword=<密码>
3. 确保证书导入到DataGrip使用的JDK信任库
不要只在DataGrip UI里导入证书,要导入到当前DataGrip绑定的JDK信任库中:
- 打开
File > Project Structure > SDKs,查看DataGrip正在使用的JDK路径 - 用keytool命令导入证书:
keytool -importcert -file <你从Chrome下载的证书文件> -keystore <上述JDK路径>/jre/lib/security/cacerts -alias snowflake-cert
- 输入密码
changeit确认导入即可
4. 临时关闭SSL验证(仅用于排查,生产禁用)
如果以上方法都不行,可以临时关闭SSL证书验证来排查是否是证书问题:
在连接设置的「高级」标签里,添加sslVerify参数并设为false,或者在JDBC URL后追加:
&sslVerify=false
注意:此方法会降低连接安全性,仅用于测试排查,生产环境禁止使用
内容的提问来源于stack exchange,提问作者sam yi
相关产品推荐
相关产品推荐

