GitBlit(当前版本1.6.2,http://gitblit.org/) 是一个Git版本控制的服务端,使用java编写,功能上足够满足基本的版本控制要求,而且部署很简单方便,比如windows上可以使用Gitblit GO,解压缩后运行gitblit.cmd就可以使用。GitBlit支持HTTPS和SSH读写,Visual studio 2013自带Git客户端的支持,但是不能使用SSH,使用HTTPS时又要求SSL证书必须是可信的,在域环境下可以使用域CA颁发的服务器证书,这就需要使用域证书来替换GitBlit自颁发的证书。

可以直接使用颁发给IIS服务的域证书,首先需要将IIS证书导出,一定要同时导出私钥:

比如这里的服务器名为TFS,保存导出的证书为tfs.pfx。

修改GitBlit配置文件gitblit.properties的server.storePassword,比如这里简单的设置为:

server.storePassword = 123

删除GitBlit目录下这些文件(其实并不是必须的,只是演示如何从头初始化这些文件):

data\serverKeyStore.jks

data\serverTrustStore.jks

data\ssh-dsa-hostkey.pem

data\ssh-rsa-hostkey.pem

data\certs\ca.cer

data\certs\caKeyStore.p12

data\certs\caRevocationList.crl

运行authority.cmd,会提示输入“证书默认设置”,确定后提示输入keystore密码,输入前面的“123”,程序会创建serverKeyStore.jks、serverTrustStore.jks等文件,使用工具栏上的“创建服务器SSL证书”按钮创建证书:

这时输入服务器的主机名称,同时选中“使用此证书提供https支持”,确定完成后关闭Certificate authority。

使用Portecle工具来修改证书Keystore,可以从http://portecle.sourceforge.net下载,使用Portecle打开tfs.pfx,选择密钥对后导出:

导出的文件命名为TFS_CA.p12,接着使用Portecle打开serverKeyStore.jks,导入保存在TFS_CA.p12中的密钥对:

导入时需要输入密钥对的Alias,输入tfs,会提示是否覆盖原有的tfs记录,选择“是”,再次提示输入密钥对记录的密码,同样输入“123”(必须和keystore的密码相同),保存后关闭Portecle。

最后还需要修改gitblit.properties的server.certificateAlias,程序以及设置为TFS,但是测试发现必须为小写:

server.certificateAlias = tfs

注意gitblit.properties文件末尾(authority.cmd添加的)可能有重复的server.certificateAlias设置,一定要删除。

运行gitblit.cmd启动gitblit,启动过程中会自动生成ssh-dsa-hostkey.pem和ssh-rsa-hostkey.pem,默认https端口8443,检查证书成功替换为域证书。

在使用git命令clone通过https访问时仍然可能会报错“Unable to clone Git repository due to self signed certificate”,需要禁止客户端的SSL验证:

git config --global http.sslVerify false

替换GitBlit的证书为域证书的更多相关文章

  1. Windows Server 2012 R2 域证书服务搭建

    网管大叔说要给每个人颁发一个证书,这个证书很耗电 1.在服务器管理器中添加角色和功能 下一步 下一步 勾选Active Directory证书服务 下一步 下一步 勾选证书颁发机构,证书颁发机构Web ...

  2. #WEB安全基础 : HTTP协议 | 0x16 HTTPS:证书,证书,全是证书

    现在想做点什么事都需要证书,要不就会让我们回忆起一个典故:滥竽充数 HTTPS使用了公开密钥加密,如何保证公开密钥就是真正的公开密钥呢?攻击者可能会替换公开密钥,这时候就需要验证,所以它采用了数字证书 ...

  3. 安装.cer证书并将证书从.cer格式转化为.pem格式

    ## 安装.cer证书并将证书从.cer格式转化为.pem格式 ### 安装.cer证书到本地 打开*运行*窗口 输入MMC.exe, 单击*确定* 在打开的控制台1的窗口中. 选择*文件*, 选择* ...

  4. 苹果应用 Windows 申请 普通证书 和Push 证书 Hbuilder 个推(2)

    s上一篇 讲述了android 如何打包,这一篇 看一下如何IOS下打包 在苹果上申请证书,及其麻烦,我写下来,有需要的直接拿走即可: 首先 苹果的证书分两种 一种是 development 证书,另 ...

  5. Openssl生成根证书、服务器证书并签核证书

    1.修改Openssl配置文件CA目录: cat /etc/pki/tls/openssl.cnf dir = /etc/pki/CA 2.生成根证书及私钥: #http://www.haiyun.m ...

  6. iOS 开发 证书总结 开发证书和生产证书的区别

    IOS开发 证书总结 开发者证书   ------>>  开发证书是你在真机推送时 用得, 生产证书是app 上架之后 推送给用户用的 首先你必须获得apple开发者证书,上图这个文件就是 ...

  7. IOS开发证书变成“此证书的签发者无效”解决方法

    IOS开发证书全部变成无效,如下图  打包提示错误  解决方法: 1. 下载https://developer.apple.com/certificationauthority/AppleWWDRCA ...

  8. [转贴]使用CryptoAPI解析X509证书和P12证书

    原文在 http://bbs.pediy.com/archive/index.php?t-97663.html,但是觉得这篇文章非常好,我抄下来作我笔记用 一.解析X509证书 1.从磁盘上的证书文件 ...

  9. 使用jdk生成证书以及把证书导入到jdk中

    证书对于实现此单点登录非常之重要,证书是服务器端和客户端安全通信的凭证,本教程只是演示,所有用了JDK自带的证书生成工具keytool.当然在实际项目中你可以到专门的证书认证中心购买证书. 中文官方网 ...

随机推荐

  1. 基于JavaScript实现表单密码的隐藏和显示出来

    转载:http://www.jb51.net/article/80326.htm 主要代码:<input type="password" name="pass&qu ...

  2. signalR制作微信墙 开源

    微信墙 上一篇文章中已经用PHP搭建了一个微信墙获取信息的服务器,我这里使用微软的signalr搭建一个客户端,signalr是一个为开发者开发实时应用的 一个库文件,支持windows server ...

  3. Nginx运行Mono Web (ASP.NET)

    Mono Web除了可以使用Apache/mod_mono方式承载运行外,还可以使用Nginx/FastCGI方式运行. Nginx配置asp.net更简单方便,用处也多,可以通过FastCGI运行a ...

  4. AngularJS Providers 详解

    供应者(Providers) Each web application you build is composed of objects that collaborate to get stuff d ...

  5. javax.persistence.PersistenceException: No Persistence provider for EntityManager named ...

    控制台下输出信息 原因:persistence.xml必须放在src下META-INF里面. 若误放在其他路径,就会迷路.

  6. 秀才提笔忘了字:javascript使用requestAnimationFrame实现动画

    requestAnimationFrame优于setTimeout/setInterval的地方在于它是由浏览器专门为动画提供的API,在运行时浏览器会自动优化方法的调用,并且如果页面不是激活状态下的 ...

  7. atitit.java给属性赋值方法总结and BeanUtils 1.6.1 .copyProperty的bug

    atitit.java给属性赋值方法总结and BeanUtils 1.6.1 .copyProperty的bug 1. core.setProperty(o, "materialId&qu ...

  8. SQL 2012 镜像 图解(解决1418)

    概念:http://blog.chinaunix.net/uid-11231963-id-2150268.html 写的不错 1.环境准备 1.WIN7+SQL 2012 两台机器 如:10.58.8 ...

  9. Windows Error Code(windows错误代码详解)

    0 操作成功完成. 1 功能错误. 2 系统找不到指定的文件. 3 系统找不到指定的路径. 4 系统无法打开文件. 5 拒绝访问. 6 句柄无效. 7 存储控制块被损坏. 8 存储空间不足,无法处理此 ...

  10. HTML+CSS纯干货就业前基础到精通系统学习2016/9/3

    1:HTML纯干货学习后的达到的效果 (1):会使用HTML的基本结构,创建网页 (2):会使用文本字体相关标签,实现文字修饰和布局 (3):会使用图像.超链接相关标签,实现图文并茂的页面 (4):会 ...