2

git web gui に gitblit を選択しました。これは、箱から出してすぐに実行できる自己完結型のバージョンを提供するためです。うまくいきました。これで、https 経由でサーバーに接続しようとすると証明書エラーが発生し、リモート cli 操作でも証明書を検証しないようにカスタム フラグが必要になります。

完全に開発されたらいつかsslを使用する他のWebアプリも実行しているため、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、混合モード)

私を正しい方向に導くことができる人には、とても感謝しています。

4

1 に答える 1

2

よし、今分かった…

証明書をインポートしようとしてキーストアを破壊しました。これがクラッシュの主な原因でした。

まず、証明書のデフォルト設定に戻す必要がありました。と の両方を削除し、data/serverKeyStore.jks再度data/serverTrustStoregitblit を起動しました。証明書の作成に失敗しました...

Windows 用の gitblit をダウンロードし、authority.cmd を実行して上記の新しいファイルを自分の debian システムにコピーすると、デフォルトの localhost 証明書で gitblit が再び開始されました。

証明書をインポートするために、秘密鍵と証明書を含む新しいキーストア pkcs キーストアを作成しました。次に、実行しました:

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

キーストアを gitblit ストアにインポートします。 keytool -listエイリアスとともに両方の証明書をリストしました。

最後に、証明書エイリアスを定義するdata/gitblit.propertiesと、サーバーが実行されました。

于 2015-05-04T14:19:58.560 に答える