我选择了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
我非常感谢有能力引导我走向正确方向的人。
答案 0 :(得分:2)
好的,所以我现在想出来了......
我在尝试导入证书时销毁了我的密钥库,这是导致崩溃的主要问题。
首先,我必须返回默认的证书设置。
我删除了data/serverKeyStore.jks
和data/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
中定义了我的证书别名,并且服务器已运行。