diff --git a/cmd/notary-signer/main.go b/cmd/notary-signer/main.go index 83dc413c2b..23f03b3f17 100644 --- a/cmd/notary-signer/main.go +++ b/cmd/notary-signer/main.go @@ -1,8 +1,6 @@ package main import ( - "crypto/rand" - "crypto/tls" "database/sql" "errors" _ "expvar" @@ -22,6 +20,7 @@ import ( "github.com/docker/notary/cryptoservice" "github.com/docker/notary/signer" "github.com/docker/notary/signer/api" + "github.com/docker/notary/utils" "github.com/docker/notary/version" "github.com/endophage/gotuf/data" _ "github.com/go-sql-driver/mysql" @@ -103,20 +102,10 @@ func main() { log.Fatalf("Certificate and key are mandatory") } - tlsConfig := &tls.Config{ - MinVersion: tls.VersionTLS12, - PreferServerCipherSuites: true, - CipherSuites: []uint16{ - tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, - tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, - tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, - tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, - tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, - tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, - tls.TLS_RSA_WITH_AES_128_CBC_SHA, - tls.TLS_RSA_WITH_AES_256_CBC_SHA}, + tlsConfig, err := utils.ConfigureServerTLS(certFile, keyFile, false, "") + if err != nil { + logrus.Fatalf("Unable to set up TLS: %s", err.Error()) } - tlsConfig.Rand = rand.Reader cryptoServices := make(signer.CryptoServiceIndex) diff --git a/server/server.go b/server/server.go index bee1b7017d..e265ae3e88 100644 --- a/server/server.go +++ b/server/server.go @@ -1,7 +1,6 @@ package server import ( - "crypto/rand" "crypto/tls" "fmt" "net" @@ -42,27 +41,11 @@ func Run(ctx context.Context, addr, tlsCertFile, tlsKeyFile string, trust signed } if tlsCertFile != "" && tlsKeyFile != "" { - keypair, err := tls.LoadX509KeyPair(tlsCertFile, tlsKeyFile) + tlsConfig, err := utils.ConfigureServerTLS( + tlsCertFile, tlsKeyFile, false, "") if err != nil { return err } - tlsConfig := &tls.Config{ - MinVersion: tls.VersionTLS12, - PreferServerCipherSuites: true, - CipherSuites: []uint16{ - tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, - tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, - tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, - tls.TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA, - tls.TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA, - tls.TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, - tls.TLS_RSA_WITH_AES_128_CBC_SHA, - tls.TLS_RSA_WITH_AES_256_CBC_SHA, - }, - Certificates: []tls.Certificate{keypair}, - Rand: rand.Reader, - } - logrus.Info("Enabling TLS") lsnr = tls.NewListener(lsnr, tlsConfig) } else if tlsCertFile != "" || tlsKeyFile != "" {