linux上svn连接visual svn server时ssl鉴权失败,问题解决(转)

场景:1、在windows 7上安装了visual svn server作为自己的svn服务器。

2、在虚拟机centos 6.3上使用svn客户端check代码,报错:

[plain] view plaincopyprint?

  1. #svn checkout https://192.168.0.104:8443/svn/DblList
  2. svn: OPTIONS of ‘https://192.168.0.104:8443/svn/DblList‘: SSL handshake failed: SSL error: Key usage violation in certificate has been detected. (https://192.168.0.104:8443)

解决:在网上找到一篇文章,按照它介绍的方法操作,解决问题。明白了,这是因为virtual svn在生成鉴权数据的时候使用了一个插件,而这个插件是OpenSSL支持的,但GnuTls是不支持的。详细的内容大家仔细看吧。感谢这篇文章的原作者,及散播者。

Symptoms

Subversion clients receive the following error message when attempting to connect to VisualSVN Server:

svn: OPTIONS of ‘https://server.domain.local/svn/repo‘: SSL handshake failed: SSL error:
Key usage violation in certificate has been detected. (https://server.domain.local)

You may experience the issue if both of the following conditions are met:

  • VisualSVN Server has a self-signed certificate applied and
  • Subversion client is built against the GnuTLS library.

NoteGnuTLS library is an alternative to OpenSSL. Most Subversion clients for Windows are built against OpenSSL and are not affected by this issue. While some Subversion packages (available mostly on Linux-based operating systems such as Ubuntu and Debian) are built against GnuTLS and are affected.

Technical background

During the initial setup VisualSVN Server 2.5 generates a self-signed certificate and adds it to the Trusted Root Certification Authorities store on the local machine. To avoid possible security issues, VisualSVN Server makes this self-signed certificate to be valid for server authentication only (by specifying the ‘Key Usage‘ extension). Subversion clients built against GnuTLS don‘t recognize such certificate and the error occurs.

Workaround

It‘s not recommended to use a self-signed certificate in a production environment. We advise to use a certificate issued by your domain or a third-party certificate authority instead of a self-signed one.

If you have to use a self-signed certificate please follow the instruction to generate a cerificate without specifying ‘Key Usage‘ extension:

  1. Add the following registry value to the Windows registry:

    • for 32-bit system:

      [HKEY_LOCAL_MACHINE\SOFTWARE\VisualSVN\VisualSVN Server] "CreateGnuTLSCompatibleCertificate"=dword:00000001
    • for 64-bit system:
      [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\VisualSVN\VisualSVN Server] "CreateGnuTLSCompatibleCertificate"=dword:00000001
  2. Start VisualSVN Server Manager.
  3. Go to Action | Properties | Certificate.
  4. Click Change certificate... and follow the wizard instructions to generate a new self-signed certificate.

The certificate will be generated without the ‘Key Usage‘ extension and will be compatible both with GnuTLS and OpenSSL.

http://blog.chinaunix.net/uid-24567872-id-3861366.html

http://blog.csdn.net/xinshou_jiaoming/article/details/6956558

时间: 2024-10-21 10:16:05

linux上svn连接visual svn server时ssl鉴权失败,问题解决(转)的相关文章

Linux - 上传项目到SVN分支

上传项目到SVN分支 本文地址: http://blog.csdn.net/caroline_wendy 1. 创建test文件夹 参考:http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.mkdir.html svn mkdir -m "text-dir" https://dev.chunyu.mobi/svn/android/exp/test 2. 在项目(Test-DiskLruCache)中添加内容 svn co https://d

Linux上Blogilo连接博客园账户

Linux上使用Blogilo博客客户端,撰写博客园博客的软件设置 1. 安装Blogilo后,选择添加博客账户: 2. 填写博客地址,博客园的开放的API类型为MetaWeblog API,所以在url栏里面填入:http://www.cnblogs.com/博客名称/services/metablogapi.aspx,同时填写博客园的用户名和密码: 3. 切换到高级选项卡,在API下拉列表选择MetaWeblog API,点击自动获取ID: 4.  点击确定,即可完成帐号的认证.

在linux上搭建amp环境安装jpeg时出现libtool command not found,error127解决

Linux系统安装amp环境 过程中出现以下错误: 错误分析:由于libtool版本过低导致的: 解决办法:重新下载新版本的libtool以默认方式安装,执行以下命令: ./configure make make install 然后进入jpeg-6b的源码目录,然后执行以下步骤,切记! cp /usr/share/libtool/config/config.sub . cp /usr/share/libtool/config/config.guess . ./configure --prefi

Linux 上传文件rz 命令提示 -bash: rz: command not found 问题解决办法

在使用rz命令上传文件的时候报错,如截图 这个问题是Linux系统缺少工具包,在有网络的情况是可以使用下面命令,进行在线安装 yum -y install lrzsz 这样子就上传成功了,如果有些同学出现?z waiting to receive.**B0100000023be50 rz 与 sz 需要端支持.终端就是连接远程服务器的客户端,例如 XShell.SecureCRT 等,linux默认终端是不支持的. 我用的是Xshell工具. 原文地址:https://www.cnblogs.c

SQL server安装时显示重启计算机失败问题解决办法

前几天在装SQL server2016的时候,一直显示重启计算机失败; 网上的方法也找来用了,但是重启完还是同样的问题,试了很多种方法,最后在一次测试中点关机的时候不小心点成了重启(win10有个毛病就是点重启的时候会强制更新系统),然后我就很无奈的等它系统更新,更新完我再试的时候,竟然重启那一栏pass了,当时激动不已,亲测之下原来是系统更新问题,我们一般人用win10 系统时都会选择吧系统更新关掉,我也不例外,但是SQL server安装时有一项是要实时更新,这就要求操作系统不能处于禁止更新

Linux上的SQL Server——预告片

大家可能都听说了,微软在几个星期前宣布发布可以在Linux上完整运行的SQL Server!如果你想看下在Linux上SQL Server如何运行,进行查询是什么样的体验,可以看下下面的视频.

VS2017 Linux 上.NET Core调试

调试Linux 上.NET Core Visual Studio 2017 通过SSH 调试Linux 上.NET Core 应用程序. 本文环境 开发环境:Win10 x64 Visual Studio 2017 部署环境:Ubuntu 14.04 x64 .NET Core SDK 1.0.1 Ubuntu上安装.NET Core SDK Ubuntu 14.04 x64 sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficman

【Netty4 简单项目实践】六、断掉未鉴权的TCP长连接--ChannelHandelContext中的定时器用法

在TCP长连接模式下,我们需要及时释放那些未授权的TCP链接,让系统运行得更稳健一些. 首先是connect上来的TCP报文需要设置一个存活期,通过在pipleline上设置超时处理器ReadTimeoutHandler ch.pipeline().addLast(new ReadTimeoutHandler(120)); 使得一个TCP在120秒内没有收到数据就断掉. 这样做的目的是让连接者必须发TCP报文才能维持连接. 下一步在业务层对ChannelHandlerContext进行鉴权.与H

visual svn server 迁移到新服务器

VisualSVN Server仓库迁移到winows(包含所有版本, 权限,用户信息) svn :visual SVN 3.5 操作系统:window 7 64 bit 安装下一步即可(很简单) 首先,VisualSVN Server Manager,包含两个路径,一个是安装路径,例如本机:C:\Program Files\VisualSVN Server,一个是库路径,例如本机:E:\Repositories,其中,Repositories中包括各项目文件及项目信息文件,重要的项目信息文件有