aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/ssh/sshcapabilities.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@theqtcompany.com>2015-05-26 10:25:56 +0200
committerChristian Kandeler <christian.kandeler@theqtcompany.com>2015-05-28 09:07:24 +0000
commit3b8ea3fc1ea5a3be3e537fc6a6390886eaaff62e (patch)
tree9b79452d230296d9f41fd277c1f47b2a9d4d0111 /src/libs/ssh/sshcapabilities.cpp
parent244cdb7804e7e45f235836d4656644d5bf9135ee (diff)
SSH: Support ECDH key exchange.
As per RFC 5656. Task-number: QTCREATORBUG-14025 Change-Id: I623c9f0808967f140cdfb40e11234c2e523484e6 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
Diffstat (limited to 'src/libs/ssh/sshcapabilities.cpp')
-rw-r--r--src/libs/ssh/sshcapabilities.cpp27
1 files changed, 20 insertions, 7 deletions
diff --git a/src/libs/ssh/sshcapabilities.cpp b/src/libs/ssh/sshcapabilities.cpp
index 6bad151fcd..2677768c3a 100644
--- a/src/libs/ssh/sshcapabilities.cpp
+++ b/src/libs/ssh/sshcapabilities.cpp
@@ -52,15 +52,24 @@ namespace {
const QByteArray SshCapabilities::DiffieHellmanGroup1Sha1("diffie-hellman-group1-sha1");
const QByteArray SshCapabilities::DiffieHellmanGroup14Sha1("diffie-hellman-group14-sha1");
-const QList<QByteArray> SshCapabilities::KeyExchangeMethods
- = QList<QByteArray>() << SshCapabilities::DiffieHellmanGroup1Sha1
- << SshCapabilities::DiffieHellmanGroup14Sha1;
+const QByteArray SshCapabilities::EcdhKexNamePrefix("ecdh-sha2-nistp");
+const QByteArray SshCapabilities::EcdhNistp256 = EcdhKexNamePrefix + "256";
+const QByteArray SshCapabilities::EcdhNistp384 = EcdhKexNamePrefix + "384";
+const QByteArray SshCapabilities::EcdhNistp521 = EcdhKexNamePrefix + "521";
+const QList<QByteArray> SshCapabilities::KeyExchangeMethods = QList<QByteArray>()
+ << SshCapabilities::EcdhNistp256
+ << SshCapabilities::EcdhNistp384
+ << SshCapabilities::EcdhNistp521
+ << SshCapabilities::DiffieHellmanGroup1Sha1
+ << SshCapabilities::DiffieHellmanGroup14Sha1;
const QByteArray SshCapabilities::PubKeyDss("ssh-dss");
const QByteArray SshCapabilities::PubKeyRsa("ssh-rsa");
-const QList<QByteArray> SshCapabilities::PublicKeyAlgorithms
- = QList<QByteArray>() << SshCapabilities::PubKeyRsa
- << SshCapabilities::PubKeyDss;
+const QByteArray SshCapabilities::PubKeyEcdsa("ecdsa-sha2-nistp256");
+const QList<QByteArray> SshCapabilities::PublicKeyAlgorithms = QList<QByteArray>()
+ << SshCapabilities::PubKeyEcdsa
+ << SshCapabilities::PubKeyRsa
+ << SshCapabilities::PubKeyDss;
const QByteArray SshCapabilities::CryptAlgo3DesCbc("3des-cbc");
const QByteArray SshCapabilities::CryptAlgo3DesCtr("3des-ctr");
@@ -79,9 +88,13 @@ const QList<QByteArray> SshCapabilities::EncryptionAlgorithms
const QByteArray SshCapabilities::HMacSha1("hmac-sha1");
const QByteArray SshCapabilities::HMacSha196("hmac-sha1-96");
const QByteArray SshCapabilities::HMacSha256("hmac-sha2-256");
+const QByteArray SshCapabilities::HMacSha384("hmac-sha2-384");
+const QByteArray SshCapabilities::HMacSha512("hmac-sha2-512");
const QList<QByteArray> SshCapabilities::MacAlgorithms
= QList<QByteArray>() /* << SshCapabilities::HMacSha196 */
- << SshCapabilities::HMacSha256 // Recommended as per RFC 6668
+ << SshCapabilities::HMacSha256
+ << SshCapabilities::HMacSha384
+ << SshCapabilities::HMacSha512
<< SshCapabilities::HMacSha1;
const QList<QByteArray> SshCapabilities::CompressionAlgorithms