Gitblit证书导入

时间:2015-04-24 10:02:54

标签: java git ssl-certificate gitblit

我选择了gitblit作为我的git web gui,因为它们提供了一个独立的版本,应该是开箱即用的。很好,它做到了。 现在,每个尝试通过https连接到服务器的人都会收到证书错误,远程cli操作也需要自定义标志才能验证证书。

由于我还在运行其他网络应用程序,有一天它们将在完全开发后使用ssl,我在https://www.startssl.com/创建了免费证书。 现在我有4个文件:私钥,根证书,中间证书和我自己的域名证书。

我确实按照Point.Up.it

上的教程进行操作
> openssl rsa -in your.private.key -out unencrypted.key
> openssl pkcs12 -inkey unencrypted.key -in yourhostcertificate.crt -export -out yourkeystore.p12
> keytool -importkeystore -srckeystore yourkeystore.p12 -srcstoretype pkcs12 -destkeystore serverKeyStore.jks

然后我用gitblit_root/data/中的那个替换生成的密钥库。 我使用密钥库的默认密码gitblit,这也是gitblit.properties中的设置值。

但是gitblit启动失败并显示以下日志行:

[WARN ] FAILED org.eclipse.jetty.server.Server@5324f3fe: java.io.IOException: Keystore was tampered with, or password was incorrect
[WARN ] FAILED GitblitSslContextFactory@191a9961(/opt/gitblit/data/serverKeyStore.jks,/opt/gitblit/data/serverTrustStore.jks): java.io.IOException: Keystore was tampered with, or password was incorrect

我的服务器详细信息:

操作系统:Debian
java版" 1.7.0_75" OpenJDK运行时环境(IcedTea 2.5.4)(7u75-2.5.4-1~deb7u1) OpenJDK 64位服务器VM(内置24.75-b04,混合模式)

我非常感谢有能力引导我走向正确方向的人。

1 个答案:

答案 0 :(得分:2)

好的,所以我现在想出来了......

我在尝试导入证书时销毁了我的密钥库,这是导致崩溃的主要问题。

首先,我必须返回默认的证书设置。 我删除了data/serverKeyStore.jksdata/serverTrustStore,并再次启动了gitblit。证书创建失败......

我下载了gitblit for windows并运行了authority.cmd将上面提到的新文件复制到我的debian系统中,然后再使用默认的localhost证书启动gitblit。

现在要导入我的证书,我创建了一个包含我的私钥和证书的新密钥库pkcs密钥库。然后,我跑了:

keytool -importkeystore -srckeystore yourkeystore.p12 -srcstoretype pkcs12 -destkeystore serverKeyStore.jks

将密钥库导入gitblit商店。 keytool -list列出了两个证书及其别名。

最后,我在data/gitblit.properties中定义了我的证书别名,并且服务器已运行。