diff --git a/src/libs/ssh/sshbotanconversions_p.h b/src/libs/ssh/sshbotanconversions_p.h index fb9cfa83f1f..d7f63cebcd0 100644 --- a/src/libs/ssh/sshbotanconversions_p.h +++ b/src/libs/ssh/sshbotanconversions_p.h @@ -94,16 +94,20 @@ inline const char *botanSha1Name() { return "SHA-1"; } inline const char *botanHMacAlgoName(const QByteArray &rfcAlgoName) { - Q_ASSERT(rfcAlgoName == SshCapabilities::HMacSha1); - Q_UNUSED(rfcAlgoName); - return botanSha1Name(); + Q_ASSERT(rfcAlgoName == SshCapabilities::HMacSha1 + || rfcAlgoName == SshCapabilities::HMacSha256); + if (rfcAlgoName == SshCapabilities::HMacSha1) + return botanSha1Name(); + return "SHA-256"; } inline quint32 botanHMacKeyLen(const QByteArray &rfcAlgoName) { - Q_ASSERT(rfcAlgoName == SshCapabilities::HMacSha1); - Q_UNUSED(rfcAlgoName); - return 20; + Q_ASSERT(rfcAlgoName == SshCapabilities::HMacSha1 + || rfcAlgoName == SshCapabilities::HMacSha256); + if (rfcAlgoName == SshCapabilities::HMacSha1) + return 20; + return 32; } } // namespace Internal diff --git a/src/libs/ssh/sshcapabilities.cpp b/src/libs/ssh/sshcapabilities.cpp index 86e68c9f355..1d70d73a604 100644 --- a/src/libs/ssh/sshcapabilities.cpp +++ b/src/libs/ssh/sshcapabilities.cpp @@ -78,8 +78,10 @@ const QList SshCapabilities::EncryptionAlgorithms const QByteArray SshCapabilities::HMacSha1("hmac-sha1"); const QByteArray SshCapabilities::HMacSha196("hmac-sha1-96"); +const QByteArray SshCapabilities::HMacSha256("hmac-sha2-256"); const QList SshCapabilities::MacAlgorithms = QList() /* << SshCapabilities::HMacSha196 */ + << SshCapabilities::HMacSha256 // Recommended as per RFC 6668 << SshCapabilities::HMacSha1; const QList SshCapabilities::CompressionAlgorithms diff --git a/src/libs/ssh/sshcapabilities_p.h b/src/libs/ssh/sshcapabilities_p.h index 39b7dd0591f..d0295fccd0a 100644 --- a/src/libs/ssh/sshcapabilities_p.h +++ b/src/libs/ssh/sshcapabilities_p.h @@ -58,6 +58,7 @@ public: static const QByteArray HMacSha1; static const QByteArray HMacSha196; + static const QByteArray HMacSha256; static const QList MacAlgorithms; static const QList CompressionAlgorithms;