Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrasimir Angelov <kangelov@gitlab.com>2019-05-16 12:48:38 +0300
committerNick Thomas <nick@gitlab.com>2019-05-16 12:48:38 +0300
commit0d97132056ac751d2841e35466225fbff6ad727e (patch)
tree1f9cd9f7b4369cf457d56a74fe24eb5e1a273c42 /acceptance_test.go
parent656dfa25f02513e2b0c489ca88887f10a72299e6 (diff)
Disable 3DES and other insecure cipher suites
Supported cipher suites: tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305 tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305 tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 Closes https://gitlab.com/gitlab-org/gitlab-pages/issues/150.
Diffstat (limited to 'acceptance_test.go')
-rw-r--r--acceptance_test.go68
1 files changed, 68 insertions, 0 deletions
diff --git a/acceptance_test.go b/acceptance_test.go
index 55a83881..f68b31ef 100644
--- a/acceptance_test.go
+++ b/acceptance_test.go
@@ -1057,3 +1057,71 @@ func TestAccessControl(t *testing.T) {
})
}
}
+
+func TestAcceptsSupportedCiphers(t *testing.T) {
+ skipUnlessEnabled(t)
+ teardown := RunPagesProcess(t, *pagesBinary, listeners, "")
+ defer teardown()
+
+ ciphers := []uint16{
+ tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305,
+ tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305,
+ tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
+ tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
+ tls.TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
+ tls.TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
+ }
+ client, cleanup := ClientWithCiphers(ciphers)
+ defer cleanup()
+
+ rsp, err := client.Get(httpsListener.URL("/"))
+
+ if rsp != nil {
+ rsp.Body.Close()
+ }
+
+ require.NoError(t, err)
+}
+
+func TestRejectsUnsupportedCiphers(t *testing.T) {
+ skipUnlessEnabled(t)
+ teardown := RunPagesProcess(t, *pagesBinary, listeners, "")
+ defer teardown()
+
+ ciphers := []uint16{
+ tls.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
+ tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA,
+ }
+ client, cleanup := ClientWithCiphers(ciphers)
+ defer cleanup()
+
+ rsp, err := client.Get(httpsListener.URL("/"))
+
+ if rsp != nil {
+ rsp.Body.Close()
+ }
+
+ require.Error(t, err)
+ require.Nil(t, rsp)
+}
+
+func TestEnableInsecureCiphers(t *testing.T) {
+ skipUnlessEnabled(t)
+ teardown := RunPagesProcess(t, *pagesBinary, listeners, "", "-insecure-ciphers")
+ defer teardown()
+
+ ciphers := []uint16{
+ tls.TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,
+ tls.TLS_RSA_WITH_3DES_EDE_CBC_SHA,
+ }
+ client, cleanup := ClientWithCiphers(ciphers)
+ defer cleanup()
+
+ rsp, err := client.Get(httpsListener.URL("/"))
+
+ if rsp != nil {
+ rsp.Body.Close()
+ }
+
+ require.NoError(t, err)
+}