2

我为我的 git web gui 选择了 gitblit,因为它们提供了一个可以开箱即用的独立版本。很好,它做到了。现在每个尝试通过 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 Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~deb7u1) OpenJDK 64-Bit Server VM (build 24.75-b04,混合模式)

我会非常感谢任何能够引导我朝着正确方向前进的人。

4

1 回答 1

2

好的,所以我现在想通了...

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

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

我下载了适用于 Windows 的 gitblit 并运行 authority.cmd 以将上面提到的新文件复制到我的 debian 系统,然后瞧:gitblit 再次使用默认的 localhost 证书启动。

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

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

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

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

于 2015-05-04T14:19:58.560 回答