当使用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

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

  1. 企业自颁布服务器证书的有效性验证(C#为例)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/notjusttech/article/details/72779904 目前根据项目的需要,整理了一 ...

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

    加密解密(2)*客户端,服务器,CA(Certificate Authority),公钥,私钥,证书,签名,验证 各角色比喻 客户端:通常为请求方,要验证服务器的身份. 服务器:通常为响应方,有时也要 ...

  3. Https 客户端与服务器交互过程梳理(转)

    本文试图以通俗易通的方式介绍Https的工作原理,不纠结具体的术语,不考证严格的流程.我相信弄懂了原理之后,到了具体操作和实现的时候,方向就不会错,然后条条大路通罗马.阅读文本需要提前大致了解对称加密 ...

  4. 微信支付HTTPS服务器证书验证指引

    1. 背景介绍 2. 常见问题 3. 验证证书 4. 安装证书 背景介绍 微信支付使用HTTPS来保证通信安全, 在HTTPS服务器上部署了由权威机构签发的证书, 用于证明微信支付平台的真实身份. 商 ...

  5. iOS服务器证书不受信任的解决版本

    参考文章链接: https://www.cnblogs.com/v-jing/p/6008964.html http://www.cocoachina.com/ios/20151021/13722.h ...

  6. Confluence 6 获得 Active Directory 服务器证书

    上面的步骤说明了如何在你的 Microsoft Active Directory服务器上安装 certification authority (CA).这一步,你需要为你的 Microsoft Act ...

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

    本文试图以通俗易通的方式介绍Https的工作原理,不纠结具体的术语,不考证严格的流程.我相信弄懂了原理之后,到了具体操作和实现的时候,方向就不会错,然后条条大路通罗马.阅读文本需要提前大致了解对称加密 ...

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

    前言 笔者查阅很多资料,才写成此文章,如有错误,请读者们及时提出. 一般大家使用远程桌面(Remote Desktop)连接Windows Server时,总会有一个警告提示,如图1 图1 出现此警告 ...

  9. Android客户端与服务器

    就是普通的服务器端编程,还不用写界面,其实还比服务器编程简单一些.跟J2EE一样的服务器,你android这一方面只要用json或者gson直接拿数据,后台的话用tomcat接受请求操作数据,功能不复 ...

随机推荐

  1. Python操作rabbitmq消息队列持久化

    消息队列持久化 Python操作rabbit消息队列的持久化,如下: # 创建一个名为balance的队列,对queue进行durable持久化设为True(持久化第一步)channel.queue_ ...

  2. 【生产问题】记还原一个很小的BAK文件,但却花了很长时间,分析过程

    [生产问题]还原一个很小的BAK文件,但却花了很长时间? 关键词:备份时事务日志太大会发生什么?还原时,事务日志太大会怎么办? 1.前提: [1.1]原库数据已经丢失,只有这个bak了 [1.2]ba ...

  3. poi 实战代码---导出Excel(根据模板导出)

    /** * 导出excel * @param request * @param response * @return * @throws Exception */ @RequestMapping(&q ...

  4. echarts 实现tooltip双栏效果

    实现效果如下: 代码: //option tooltip: { trigger: 'axis', axisPointer: { label: { show: true, fontSize: 15 } ...

  5. openshift 配置ldap认证

    master主配置文件: ...... identityProviders: - challenge: true login: true mappingMethod: claim name: Ldap ...

  6. android获取通讯记录,sim卡和手机

    //获取手机和手机卡通讯录 public static String getContacts() { String szContacts = ""; szContacts=getP ...

  7. cocos2d JS-(JavaScript) cc.each循环遍历对象

    有了它,妈妈再也不用担心我的数组会越界啦!! each()方法能使DOM循环结构简洁,不容易出错.each()函数封装了十分强大的遍历功能,使用也很方便,它可以遍历一维数组.多维数组.DOM, JSO ...

  8. opencv-resize()放缩函数简介

    主要介绍函数resize(); 图像缩放的效果图如下: 主程序代码及函数解释如下所示: /******************************************************* ...

  9. NodeJs笔记 : express框架创建工程 ----- 路由设计

    一.搭建工程 1 .安装 express-generator $ npm install -g express-generator 2 .本地创建express项目 $ express -e blog ...

  10. 关于hibernate总是报错 配置factory的id找不到,mapping配置文件Could not parse mapping document from input stream

    Caused by: org.hibernate.InvalidMappingException: Could not parse mapping document from input stream ...