1. 程式人生 > >linux上svn連線visual svn server時ssl鑑權失敗,問題解決

linux上svn連線visual svn server時ssl鑑權失敗,問題解決

場景:1、在windows 7上安裝了visual svn server作為自己的svn伺服器。

    2、在虛擬機器centos 6.3上使用svn客戶端check程式碼,報錯:

#svn checkout https://192.168.0.104:8443/svn/DblList
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.
Note 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.


相關推薦

linuxsvn連線visual svn serverssl失敗問題解決

場景:1、在windows 7上安裝了visual svn server作為自己的svn伺服器。     2、在虛擬機器centos 6.3上使用svn客戶端check程式碼,報錯: #svn checkout https://192.168.0.104:8443/svn/

Windows下搭建SVN伺服器 - Visual SVN server

1.下載visual SVN server 現在SVN遷移到Apache網站下了,下載地址:http://subversion.apache.org/packages.html   2.下載安裝TortoiseSVN 地址:https://tortoises

Linux無人值守安裝SQL Server 2017

arc perm mss r++ run bash emc log export 可以按以下步驟執行無人值守安裝:添加資料庫並安裝SQL Server。當你運行mssql-conf setup,設置環境變量並使用-n選項(不提示)。#!/bin/bash -e # Use

【Tomcat】LinuxTomcat釋出-JavaWeb專案-訪問不通過專案名

一開始自己不知道怎麼直接通過域名訪問到自己部署的Web專案,釋出在Tomcat上的。 因為自己以前寫都是後面加了專案名, 然後去百度谷歌,找到了下面的正確方法 如果你不想輸入埠號訪問,記得把埠號8080改為80哦。 apache-tomcat-7

Linux快速啟動一個HTTP server

我們可以利用python來快速啟動一個httpserver。 # 8999是伺服器監聽的埠號 python -m SimpleHTTPServer 8999 python一共提供了三種Web伺服器

CS4:用戶在使用IE訪問FTP server 遇到 502代理錯誤沒有彈出輸入用戶憑據對話框

images tmg proc view site 彈出 request 劃線 mar 客戶問題概括:用戶在使用IE 訪問FTP server 時遇到 502代理錯誤。用戶在瀏覽器使用 ftp://ftpServerName 訪問自檢FTP server 時沒有提示輸入用戶

linux安全掃描系統的指令碼(自動掃描出漏洞以及給出解決方案)

請自行下載安裝包 lynis-master.zip 指令碼內容如下: cat   lynis.sh !#/bin/bash unzip lynis-master.zip  > /dev/null mv lynis-master  /etc

新建類Hibernate事務開啟失敗但其它的沒事。

新建 span expose class 事務 ntc nbsp style service 給大家提供一個思路。 檢查下自己的包是不是多創建了一層。 比如說在建立 server.c.impl正常使用 但server.c.d.impl就不行了。 容易被忽視的一點,可以排查

0.powerdesigner資料庫連線失敗 解決JDK64位問題

1、MySQL資料庫連線(JDBC方式) JDBC的配置方式需要一些基礎的環境和準備,但是也很簡單,無非也就是JDK和mysql的連線jar包,這裡不再展開闡述。 1.1 新建一個pdm,dbms選擇mysql 1.2 Database - Connect  選擇資料庫連

安裝CUDA 9.0NIVDIA安裝程式失敗解決方法。win10+vs2017+python 3.6+cuda 9.0+cudnn 7.0+tensorflow 1.5

在win10+vs2017+python 3.6+cuda 9.0+cudnn 7.0+tensorflow 1.5的環境配置過程中,安裝cuda 9.0就一直出錯,一直無法安裝,如下圖(找不到9.0的圖片,就用了個8.0失敗的圖片)好,現在就來說解決方法:就是清楚所有的顯示

安裝SQL server 提示重新啟動計算機失敗怎麼解決

SQL server是微軟推出的資料庫管理系統,廣泛使用於大型多處理器的伺服器等多種平臺。最近有使用者在安裝SQL server 2008程式是提示重新啟動計算機失敗問題(如圖),相信很多使用者都會選擇重啟電腦,但再次安

ORACLE 11g 建立資料庫 Enterprise Manager配置失敗解決辦法 無法開啟ORACLE企業管理器(EM)的解決辦法

環境:win7 64位系統、 軟體:oracle11g database ,oracle 10g client 。 問題描述:在win7 64位系統下安裝oracle11g,在建立資料庫時,進度到85%的時候報錯,錯誤如下: 根據提示去emConfig.log檔案檢視日誌檔案,然後手動去D:\app

實現ipad的內嵌webview手勢縮放圖片(修改版解決在第一張圖片放大的情況下翻到下一張圖片無法放大的問題) 基於Quo(js庫)

      這是自己在一個專案中用到的,可以根據手勢(兩個手指的拖放放大1.2,1.4,1.6倍圖片,然後捏放下回復到原來大小,只要修改引數就可以無限放大和縮小圖片的倍數) 下面是quo支援的手勢: 以下為實現ipad  iso 上面的web頁面(jsp)放大三倍,

關於程式執行載入動態庫失敗解決方法

一般我們在Linux下執行某些外部程式的時候可能會提示找不到共享庫的錯誤, 比如: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or direc

通過freemarker生成一個word,解決生成的word用wps開啟有問題的問題解決出word中文檔名亂碼問題解決打開出word開啟的word出現問題的問題出圖片解決動態列表

通過freemarker製作word比較簡單步驟:製作word模板。製作方式是:將模板word儲存成為xml----在xml的word模板中新增相應的標記----將xml的word檔案的字尾名改成f

執行儲存過程時報“在嘗試載入程式集 ID 65645 Microsoft .NET Framework 出錯”解決方案

新庫是直接複製的模板庫 執行儲存過程時報如下錯 訊息 10314,級別 16,狀態 11,過程sp_Sync_CmsArticleToSearchs,第 30 行在嘗試載入程式集 ID 65645 時 Microsoft .NET Framework 出錯。伺服器可能資源

[PL/SQL工具]綠色版PLSQL工具登入提示初始化失敗無法鎖定OCI.dll錯誤

問題現象:使用綠色版PL/SQL工具進行登入時報如下截圖錯誤: 問題描述:初始化失敗,無法鎖定oci.dll 解決方法:在PLSQL的選單欄裡依次選擇 工具—>首選項,在OCI庫(自動檢測為空)項中手動更改其位置,指向bin目錄中的oci.dll的位置,問題即可

Oracle安裝實體記憶體檢查失敗解決步驟

Oracle安裝時先決條件檢查失敗的解決方案:環境說明:  安裝環境:Windows7 64位,記憶體8G,硬碟空間足夠  安裝版本:Oracle Database 11g Release 2 (11.

support等三方包引用多個引用找不到類解決辦法

 問題: 原因: 引用多個三方庫.在呼叫的時候會出現版本對應不上的原因.就會出現如標題的異常.解決的辦法就是在你的build.gradle裡面加入如下程式碼塊: configurations.all

SQL Server收縮資料庫日誌檔案失敗解決辦法

由於資料庫日誌檔案過大導致磁碟不夠用,我們採取的解決辦法是收縮資料庫日誌檔案,但是有時候執行收縮操作的時候不成功也不報錯,這就頭疼了: 先看下,如何做收縮操作的吧: 將檔案收縮到最小: 也可以寫SQL執行:DBCC SHRINKFILE('Back_up_log