Ignore empty or invalid SSH key components

This commit is contained in:
Lukas Niederbremer 2026-03-05 02:14:03 +01:00
parent f4e82be7e6
commit 48fdc08ca5
No known key found for this signature in database
GPG key ID: 06E390B32065F38C

View file

@ -263,25 +263,28 @@ namespace
if (sshKey.contains("publicKey") && sshKey.contains("privateKey")) {
const auto publicKey = sshKey.value("publicKey").toString();
const auto privateKey = sshKey.value("privateKey").toString();
auto baseName = QString("id");
if (!publicKey.isEmpty() && !privateKey.isEmpty()) {
auto baseName = QString("id");
if (publicKey.startsWith("ssh-ed25519 ")) {
baseName.append("_ed25519");
} else if (publicKey.startsWith("ssh-rsa ")
|| publicKey.startsWith("ssh-sha2-256 ")
|| publicKey.startsWith("ssh-sha2-512 ")) {
baseName.append("_rsa");
} else if (publicKey.startsWith("ecdsa-sha2-nistp256 ")
|| publicKey.startsWith("ecdsa-sha2-nistp384 ")
|| publicKey.startsWith("ecdsa-sha2-nistp521 ")) {
baseName.append("_ecdsa");
} else if (publicKey.startsWith("ssh-dss ")) {
baseName.append("_dss");
if (publicKey.startsWith("ssh-ed25519 ")) {
baseName.append("_ed25519");
} else if (publicKey.startsWith("ssh-rsa ")
|| publicKey.startsWith("ssh-sha2-256 ")
|| publicKey.startsWith("ssh-sha2-512 ")) {
baseName.append("_rsa");
} else if (publicKey.startsWith("ecdsa-sha2-nistp256 ")
|| publicKey.startsWith("ecdsa-sha2-nistp384 ")
|| publicKey.startsWith("ecdsa-sha2-nistp521 ")) {
baseName.append("_ecdsa");
} else if (publicKey.startsWith("ssh-dss ")) {
baseName.append("_dss");
}
entry->attachments()->set(baseName + ".pub", publicKey.toUtf8());
entry->attachments()->set(baseName, privateKey.toUtf8());
}
entry->attachments()->set(baseName + ".pub", sshKey.value("publicKey").toString().toUtf8());
entry->attachments()->set(baseName, sshKey.value("privateKey").toString().toUtf8());
}
}