diff options
author | Christian Kandeler <christian.kandeler@theqtcompany.com> | 2015-05-26 10:25:56 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@theqtcompany.com> | 2015-05-28 09:07:24 +0000 |
commit | 3b8ea3fc1ea5a3be3e537fc6a6390886eaaff62e (patch) | |
tree | 9b79452d230296d9f41fd277c1f47b2a9d4d0111 /src/libs/ssh/sshcapabilities.cpp | |
parent | 244cdb7804e7e45f235836d4656644d5bf9135ee (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.cpp | 27 |
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 |