aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/ssh/sshkeyexchange.cpp
diff options
context:
space:
mode:
authorChristian Kandeler <[email protected]>2015-07-20 16:19:58 +0200
committerChristian Kandeler <[email protected]>2015-07-21 16:11:59 +0000
commit815caedceb9ea0075292e00639d12104be287aba (patch)
tree8b969113f29e015092e480ddc198b750f66a9b3c /src/libs/ssh/sshkeyexchange.cpp
parent0aadfbd4537e83bab7b65c3658aa323c003610c4 (diff)
SSH: Support more ECDSA public key sizes.
Namely, 384 and 521 bits. Change-Id: I245f8521b86d615163e5c071014e455a584c1305 Reviewed-by: Christian Kandeler <[email protected]>
Diffstat (limited to 'src/libs/ssh/sshkeyexchange.cpp')
-rw-r--r--src/libs/ssh/sshkeyexchange.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libs/ssh/sshkeyexchange.cpp b/src/libs/ssh/sshkeyexchange.cpp
index 18ad4971af7..9f8ec9d24c0 100644
--- a/src/libs/ssh/sshkeyexchange.cpp
+++ b/src/libs/ssh/sshkeyexchange.cpp
@@ -213,8 +213,8 @@ void SshKeyExchange::sendNewKeysPacket(const SshIncomingPacket &dhReply,
= new RSA_PublicKey(reply.hostKeyParameters.at(1), reply.hostKeyParameters.at(0));
sigKey.reset(rsaKey);
} else {
- QSSH_ASSERT_AND_RETURN(m_serverHostKeyAlgo == SshCapabilities::PubKeyEcdsa256);
- const EC_Group domain("secp256r1");
+ QSSH_ASSERT_AND_RETURN(m_serverHostKeyAlgo.startsWith(SshCapabilities::PubKeyEcdsaPrefix));
+ const EC_Group domain(SshCapabilities::oid(m_serverHostKeyAlgo));
const PointGFp point = OS2ECP(convertByteArray(reply.q), reply.q.count(),
domain.get_curve());
ECDSA_PublicKey * const ecdsaKey = new ECDSA_PublicKey(domain, point);