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. 让Sqlite脱离VC++ Runtime独立运行

    前段时间在开发OrayTalk(傲瑞通)的聊天记录模块时用到了Sqlite,这是我第一次接触和使用Sqlite,总体感觉还是非常不错的.这里把我使用Sqlite的经验跟大家分享一下. 一.关于Sqli ...

  2. Color颜色对照表

    Color.AliceBlue 240,248,255 Color.LightSalmon 255,160,122 Color.AntiqueWhite 250,235,215 Color.Light ...

  3. Windows Phone下的Socket编程

    讨论下有关于Windows Phone下的Socket编程方面的知识. Socket就是通常所称的套接字,用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过Socket向网络发出请求或者应答 ...

  4. JavaScript实用技巧总结

    前言 总结一下最近接触到的JavaScript语法糖,与大家共享. 每块糖都有详细的说明和示例,就不多说了. 准确的类型检查 /* * @function: * 类型检查示例 * 通过此方法,可以检查 ...

  5. clearing & settlement

    http://blog.donews.com/tianshun/archive/2013/07/ http://wenku.baidu.com/view/e5a736e3e53a580217fcfe1 ...

  6. Java程序员的日常——经验贴(纯干货)

    工作当中遇到的事情比较杂,因此涉及的知识点也很多.这里暂且记录一下,今天遇到的知识点,纯干货~ 关于文件的解压和压缩 如果你的系统不支持tar -z命令 如果是古老的Unix系统,可能并不认识tar ...

  7. Atitit. BigConfirmTips 控件 大数据量提示确认控件的原理and总结O9

    Atitit. BigConfirmTips 控件 大数据量提示确认控件的原理and总结O9 1. 主要的涉及的技术 1 2. 主要的流程 1 3. 调用法new confirmO9t(); 1 4. ...

  8. Spring简介和基础

    Spring介绍 1.什么事Spring? spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. spring的设计模式是单例模式和工厂模式. 2.spring的四大优点 轻量 ...

  9. javascript基础知识复习一

    JavaScript 一.数据类型 A.String B.Number C.boolean  1.undefined.false.null.0.“”这五个返回的都是false: 2.NAN==NAN返 ...

  10. Quartz 框架的应用

    本文将简单介绍在没有 Spring 的时候..如何来使用 Quartz... 这里跳过 Quartz 的其他介绍.如果想更加输入的了解 Quartz,大家可以点击下载Quartz的帮助文档. Quar ...