Gitblit证书导入

Gitblit certificate import

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

由于我也在 运行 开发其他 Web 应用程序,这些应用程序在完全开发后有一天会使用 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

我的服务器详细信息:

OS:Debian
java 版本“1.7.0_75” OpenJDK 运行时环境 (IcedTea 2.5.4) (7u75-2.5.4-1~deb7u1) OpenJDK 64 位服务器 VM(内部版本 24.75-b04,混合模式)

如果有人能指导我正确的方向,我将非常感激。

好吧,我现在想通了...

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

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

我下载了 windows 和 运行 authority.cmd 的 gitblit 以将上面提到的新文件复制到我的 debian 系统,瞧:gitblit 使用默认的本地主机证书再次启动。

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

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

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

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