Mac下Intellij idea的SVN无法连接https地址,报错:Server ssl certificate rejected

在idea里使用SVN进行代码管理,进行checkout的时候,出现异常

Cannot checkout from svn:Server SSL certificate rejected

服务器的SSL证书被拒绝

我们使用的SVN地址是https的,在连接这个地址的时候,svn会认为这个请求是通过证书来进行鉴权,其实我们是用账号密码。

下面将各种解决方案在这一一列出来,希望能解决你的问题。

第一种:查看Mac自带SVN版本,以防是SVN版本过低造成的异常

查看svn安装的位置:
whereis svnversion
查看svn的版本:
/usr/bin/svnversion --version

如果版本过低,将版本升级就好了

第二种:打开IDEA的Preferences,在Subversion里,检查 SSH Settings
这里写图片描述

IDEA会默认选择Subversion config,改为Password,然后在General下,点击Clear Auth Cache

这里写图片描述

再试试Checkout。

第三种:找到SVN的 .subversion/ 目录
删除这个文件夹就可以了,mac和linux都一样都是在个人文件目录里。是隐藏文件。
这里写图片描述

第四种:如果以上的步骤都无效,那只能放大招了,IDEA内连续按两下shift,在搜索框里输入Code Clean

这里写图片描述

在IDEA里设置那些属性的时候,总感觉它是有缓存的,所以遇到坑爹问题的时候,应该多去尝试,或者重启,没有重启搞不定的,如果有,那就再重启一次~

技术交流学习或者有任何问题欢迎加群:154514123

这里写图片描述

### 解决 IDEA SVN E230001 服务器 SSL 证书验证失败问题 在使用 IntelliJ IDEASVN 插件时,如果遇到 `E230001 Server SSL certificate verification failed` 错误,通常是因为服务器的 SSL 证书存在问题,例如证书颁发给的主机名与实际访问的主机名不匹配,或者证书未被信任。以下方法可以解决此问题。 #### 方法一:手动接受并信任 SSL 证书 可以通过命令行工具 `svn` 手动接受并信任服务器的 SSL 证书。具体操作如下: 1. 使用命令行运行以下命令: ```bash svn list https://your.repository.url --trust-server-cert --non-interactive --username your_username --password your_password ``` 此命令会尝试连接SVN 服务器,并自动接受服务器的 SSL 证书[^2]。 2. 如果成功,IDEA 将继承系统中已信任的证书配置,从而避免再次出现 `E230001` 错误。 #### 方法二:配置全局信任的 SSL 证书 如果需要永久解决此问题,可以将服务器的 SSL 证书添加到系统的信任存储中: 1. 导出服务器的 SSL 证书(可以通过浏览器导出)。 2. 将导出的证书文件导入到系统的信任存储中。例如,在 macOS 上可以使用 Keychain Access 工具导入证书并设置为“始终信任”。 3. 确保 IDEA 使用的是系统自带的 SVN 客户端,而不是内置的 SVN 客户端。可以在 IDEA 的设置中进行配置: - 打开 **Settings > Version Control > Subversion**。 - 在 **General** 标签下,选择 **Use command line client** 并指定系统中的 SVN 路径(如 `/usr/bin/svn`)[^2]。 #### 方法三:禁用 SSL 证书验证(不推荐) 虽然可以通过禁用 SSL 证书验证来绕过此问题,但这种方法存在安全隐患,不建议在生产环境中使用。如果确实需要禁用验证,可以使用以下命令: ```bash svn list https://your.repository.url --trust-server-cert --non-interactive ``` 此外,如果使用的是 Java 环境下的 HTTPS 请求,可以参考以下代码片段配置 `SSLContext` 来忽略证书验证[^1]: ```java import javax.net.ssl.*; import java.security.cert.X509Certificate; public class SSLUtil { public static void disableSSLCertificateChecking() { try { TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() { public X509Certificate[] getAcceptedIssuers() { return null; } public void checkClientTrusted(X509Certificate[] certs, String authType) {} public void checkServerTrusted(X509Certificate[] certs, String authType) {} }}; SSLContext sc = SSLContext.getInstance("TLS"); sc.init(null, trustAllCerts, new java.security.SecureRandom()); HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); } catch (Exception e) { e.printStackTrace(); } } } ``` #### 方法四:检查并更新服务器证书 如果可能,联系服务器管理员检查并更新 SSL 证书,确保其符合以下要求: - 证书的有效期未过期。 - 证书的主机名与实际访问的主机名一致。 - 证书由受信任的 CA 颁发。 --- ### 注意事项 - 如果使用的是自签名证书,可以将其添加到信任存储中以避免验证失败。 - 确保 IDEA 和系统中的 SVN 客户端版本一致,避免因版本差异导致的问题。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值