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.jks
和 data/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
和服务器 运行 中定义了我的证书别名。
我为我的 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.jks
和 data/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
和服务器 运行 中定义了我的证书别名。