|
|
@@ -58,6 +58,14 @@ var serverForbiddenKexAlgos = map[string]struct{}{
|
|
|
kexAlgoDHGEXSHA256: {}, // server half implementation is only minimal to satisfy the automated tests
|
|
|
}
|
|
|
|
|
|
+// preferredKexAlgos specifies the default preference for key-exchange algorithms
|
|
|
+// in preference order.
|
|
|
+var preferredKexAlgos = []string{
|
|
|
+ kexAlgoCurve25519SHA256,
|
|
|
+ kexAlgoECDH256, kexAlgoECDH384, kexAlgoECDH521,
|
|
|
+ kexAlgoDH14SHA1,
|
|
|
+}
|
|
|
+
|
|
|
// supportedHostKeyAlgos specifies the supported host-key algorithms (i.e. methods
|
|
|
// of authenticating servers) in preference order.
|
|
|
var supportedHostKeyAlgos = []string{
|
|
|
@@ -246,7 +254,7 @@ func (c *Config) SetDefaults() {
|
|
|
c.Ciphers = ciphers
|
|
|
|
|
|
if c.KeyExchanges == nil {
|
|
|
- c.KeyExchanges = supportedKexAlgos
|
|
|
+ c.KeyExchanges = preferredKexAlgos
|
|
|
}
|
|
|
|
|
|
if c.MACs == nil {
|