forked from qt-creator/qt-creator
SSH: Add support for SHA-256 HMAC.
As recommended in RFC 6668. Task-number: QTCREATORBUG-14008 Change-Id: Icd4613dda9cce2b482499c626b863c17e8fa0c20 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
This commit is contained in:
@@ -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);
|
||||
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);
|
||||
Q_ASSERT(rfcAlgoName == SshCapabilities::HMacSha1
|
||||
|| rfcAlgoName == SshCapabilities::HMacSha256);
|
||||
if (rfcAlgoName == SshCapabilities::HMacSha1)
|
||||
return 20;
|
||||
return 32;
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
|
@@ -78,8 +78,10 @@ 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 QList<QByteArray> SshCapabilities::MacAlgorithms
|
||||
= QList<QByteArray>() /* << SshCapabilities::HMacSha196 */
|
||||
<< SshCapabilities::HMacSha256 // Recommended as per RFC 6668
|
||||
<< SshCapabilities::HMacSha1;
|
||||
|
||||
const QList<QByteArray> SshCapabilities::CompressionAlgorithms
|
||||
|
@@ -58,6 +58,7 @@ public:
|
||||
|
||||
static const QByteArray HMacSha1;
|
||||
static const QByteArray HMacSha196;
|
||||
static const QByteArray HMacSha256;
|
||||
static const QList<QByteArray> MacAlgorithms;
|
||||
|
||||
static const QList<QByteArray> CompressionAlgorithms;
|
||||
|
Reference in New Issue
Block a user