Subversion客户端接受服务器证书出现“The certificate hostname does not match”的问题

当使用https://形式的URL连接Apache时,Subversion客户端将会受到两个类型的响应:

1、一个服务器证书

2、一个针对客户端证书的请求

在本人的应用场景主要涉及SVN仓库迁移的操作,需要将大量的远程仓库集中迁移到本地仓库进行管理。所以这里主要描述服务器证书相关的问题,因为需要使用脚本执行Subversion的svnrdump命令,在执行的过程中碰到如下提示信息:

Error validating server certificate for ‘https://...:端口号‘:

  • The certificate is not issued by a trusted authority. Use the

    fingerprint to validate the certificate manually!

  • The certificate hostname does not match.

Certificate information:

  • Hostname: ..cn
  • Valid: from Wed, 29 Nov 2017 01:24:36 GMT until Sat, 27 Nov 2027 01:24:36 GMT
  • Issuer: CMBAUTOTEST01TS.ho18t.cmbchina.cn
  • Fingerprint: cf:1f:c4:f0:9e:a3:42:0f:75:23:50:56:54:6e:11:71:df:a7:d3:9f

(R)eject, accept (t)emporarily or accept (p)ermanently?

在这里可以看到两个错误提示,第一个错误提示可以通过在命令行中添加参数“--trust-server-cert --non-interactive”(查询svnrdump命令相关的文档)解决,第二个错误是由于hostname不相同导致的。

导致这个问题的原因是:证书返回的Hostname是一个域名,但是验证时使用的是ip地址。

在这里使用的解决方法是:将https://连接中的ip地址替换为服务器返回的证书中的Hostname,然后在机器的hosts文件中添加ip与Hostname的关联映射。这样就可以保证脚本自动执行的过程中不会被“Hostname does not match”中断。

关于subversion的命令说明请参考官方文档:svnbook.red-bean.com/nightly/zh/svn.ref.html

原文地址:https://www.cnblogs.com/mrnx2004/p/10337954.html

时间: 2024-10-03 00:54:42

Subversion客户端接受服务器证书出现“The certificate hostname does not match”的问题的相关文章

IIS SSL客户端证书(忽略/接受/必须)之一——服务器证书申请

Technorati 标记: IIS,CA,证书,SSL,客户端证书,夏明亮 [第一部分 环境介绍] 架构 1台CA(独立根CA) 1台IIS Server 1台客户端计算机 版本 所有的计算机OS均为Windows Server 2008 R2,所以IIS为7.0版本. [第二部分 测试环境准备] 一 搭建一台CA Server 此部分内容相对简单,如果你是刚接触这方面的内容,可以我之前的文章,链接如下: http://mlxia.blog.51cto.com/972988/1217914 注

加密解密(2)*客户端,服务器,CA(Certificate Authority),公钥,私钥,证书,签名,验证

加密解密(2)*客户端,服务器,CA(Certificate Authority),公钥,私钥,证书,签名,验证 各角色比喻 客户端:通常为请求方,要验证服务器的身份. 服务器:通常为响应方,有时也要验证客户端的身份. C     A :全拼为Certificate Authority,就是第三方验证机构.客户端与服务器只有在CA申请了证书之后才能证明身份合法. 加   密 :客户端或服务器把数据放在箱子里,然后用钥匙(公钥或私钥)将箱子锁上,再放到网络上传输,只有有用钥匙的人才能打开箱子. 根

exchange服务器证书过期,导致outlook客户端不停的弹出证书过期的警告窗口

具体症状:exchange服务器证书过期,导致outlook客户端不停的弹出证书过期的警告窗口(但点击警告窗口确定之后,outlook客户端仍旧可以使用.且OWA一切正常). 于是决定在过期的证书上续订证书.续订证书的方法为: 1,右键单击过期证书----续订证书.导出一个命名为test.req的文件.此时生成了一个挂起的续订证书. 2:打开IE浏览器,进入CA审批页面---申请证书----高级证书申请---使用base64位编码---将111.req文件里的内容复制粘贴(证书模版:web服务器

Subversion客户端认证凭证缓存总结

Subversion1.7或者更旧版本,主要使用一个磁盘缓存解决方案用来缓存认证凭证. Subversion1.8中,其配置文件($HOME/.subversion/config)允许--disable-plaintext-password-storage选项绕过存储明文和客户端口令的逻辑. Subversion认证信息缓存默认目录: 在linux下为$HOME/.subversion/auth/目录 在windows下为%APPDATA%\Subversion\auth:可以通过echo %A

使用 OpenSSL为WindowsServer远程桌面(RDP)创建自签名证书 (Self-signed SSL certificate)

前言 笔者查阅很多资料,才写成此文章,如有错误,请读者们及时提出. 一般大家使用远程桌面(Remote Desktop)连接Windows Server时,总会有一个警告提示,如图1 图1 出现此警告的原因为证书为服务器的自签名证书,我们的客户端无法识别,故笔者思考,如何使用证书安全的使用远程桌面(RDP). 解决方法: 使用WIndowsServer自带的"AD证书服务",生成整个PKI,即拥有整套证书体系,自然所有有关认证问题迎刃而解.缺点是操作非常复杂,优点是安全,商业级别! 使

Https 客户端与服务器交互过程梳理

本文试图以通俗易通的方式介绍Https的工作原理,不纠结具体的术语,不考证严格的流程.我相信弄懂了原理之后,到了具体操作和实现的时候,方向就不会错,然后条条大路通罗马.阅读文本需要提前大致了解对称加密.非对称加密.信息认证等密码学知识.如果你不太了解,可以阅读Erlang发明人Joe Armstrong最近写的Cryptography Tutorial.大牛出品,通俗易懂,强力推荐. Https涉及到的主体 客户端.通常是浏览器(Chrome.IE.FireFox等),也可以自己编写的各种语言的

用java语言构建一个网络服务器,实现客户端和服务器之间通信,实现客户端拥有独立线程,互不干扰

服务器: 1.与客户端的交流手段多是I/O流的方式 2.对接的方式是Socket套接字,套接字通过IP地址和端口号来建立连接 3.(曾经十分影响理解的点)服务器发出的输出流的所有信息都会成为客户端的输入流,同时所有客户端的所有输出流都会包含在服务器的输入流中. (即套接字即使建立连接,输入输出流都是相对自己的而言的,向外发送自己的内部的信息都用输出流,接受外部的数据都使用输入流!) 简单服务器的代码实现: public static void main(String [] args){ try

基于iOS,Android的服务器证书失效检测

1.前言 在目前的iOS,Android手机上,当手机应用进行SSL通信时,手机端默认是不会进行服务器证书是否失效的监测. 在iOS上,系统是会定期获取所访问服务器的证书信息然后出存在本地. 在Android端,系统是不会进行任何服务器证书的监测. 2.影响 如果应用在与服务器进行SSL通信时不进行任何的证书有效性检测会造成用户信息泄漏等安全问题. 3.解决方法 服务器证书有效性检测有两种方法,CRL检测和OCSP检测. OCSP检测主要的好处是时效性更有效率.本文主要从OCSP角度介绍实现方法

Socket 通信原理(Android客户端和服务器以TCP&&UDP方式互通)

ZERO.前言 有关通信原理内容是在网上或百科整理得到,代码部分为本人所写,如果不当,还望指教. 一.Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据.而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求. 那么,什么是s