From 7e5107ef3e2bb0d7c31d3050fb8ba6cc1601ef1a Mon Sep 17 00:00:00 2001 From: Glenn Matthys Date: Sun, 17 Jan 2016 23:15:38 +0100 Subject: Describe how DH key bitlength can be influenced --- src/site/setup_transport_http.mkd | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/site/setup_transport_http.mkd b/src/site/setup_transport_http.mkd index fd611d43..5329a188 100644 --- a/src/site/setup_transport_http.mkd +++ b/src/site/setup_transport_http.mkd @@ -17,6 +17,16 @@ Value = false - **Command-line Git** ([Git-Config Manual Page](http://www.kernel.org/pub/software/scm/git/docs/git-config.html))
git config --global --bool --add http.sslVerify false
+**NOTE:** +When generating self-signed certificates, the default Java TLS settings will be used. These default settings will generate a weak Diffie-Hellman key. +#### Java 8 +The default is a 1024 bit DH key. +You can up the number of bits used by appending the following command line parameter when starting Gitblit: +
-Djdk.tls.ephemeralDHKeySize=2048
+2048 bits is the maximum (Java limitation), and is still considered secure as of this writing. +#### Java 7 +The default is a 768 bit key. This is hardcoded in Java 7 and cannot be changed.. It is very weak. If you require longer DH keys, use Java 8. + ### Http Post Buffer Size You may find the default post buffer of your git client is too small to push large deltas to Gitblit. Sometimes this can be observed on your client as *hanging* during a push. Other times it can be observed by git erroring out with a message like: error: RPC failed; result=52, HTTP code = 0. -- cgit v1.2.3 From 0d32645ba2eafb1abfdb85bbe358d4db5e929aba Mon Sep 17 00:00:00 2001 From: Glenn Matthys Date: Sun, 17 Jan 2016 23:15:53 +0100 Subject: Typo in setup_transport_http.mkd --- src/site/setup_transport_http.mkd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/site/setup_transport_http.mkd b/src/site/setup_transport_http.mkd index 5329a188..4de75963 100644 --- a/src/site/setup_transport_http.mkd +++ b/src/site/setup_transport_http.mkd @@ -5,7 +5,7 @@ You must tell Git/JGit not to verify the self-signed certificate in order to perform any remote Git operations. **NOTE:** -The default self-signed certificate generated by Gitlbit GO is bound to *localhost*. +The default self-signed certificate generated by Gitblit GO is bound to *localhost*. If you are using Eclipse/EGit/JGit clients, you will have to generate your own certificate that specifies the exact hostname used in your clone/push url. You must do this because Eclipse/EGit/JGit (< 3.0) always verifies certificate hostnames, regardless of the *http.sslVerify=false* client-side setting. -- cgit v1.2.3