mirror of
https://github.com/Noratrieb/cluelessh.git
synced 2026-01-14 16:35:06 +01:00
get ecdsa working again
This commit is contained in:
parent
1a093aa536
commit
06c1f31dca
4 changed files with 28 additions and 12 deletions
|
|
@ -67,7 +67,11 @@ async fn main() -> eyre::Result<()> {
|
|||
.decrypt(None)
|
||||
.unwrap()
|
||||
.remove(0),
|
||||
// TODO: add ECDSA support again!!
|
||||
cluelessh_keys::EncryptedPrivateKeys::parse(ECDSA_PRIVKEY.as_bytes())
|
||||
.unwrap()
|
||||
.decrypt(None)
|
||||
.unwrap()
|
||||
.remove(0),
|
||||
],
|
||||
};
|
||||
|
||||
|
|
@ -349,3 +353,15 @@ AAAECSeskxuEtJrr9L7ZkbpogXC5pKRNVHx1ueMX2h1XUnmek5zfpvwNc3MztTTpE90zLI
|
|||
1Ref4AwwRVdSFyJLGbj2AAAAB3Rlc3RrZXkBAgMEBQY=
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
";
|
||||
|
||||
const ECDSA_PRIVKEY: &str = "\
|
||||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAaAAAABNlY2RzYS
|
||||
1zaGEyLW5pc3RwMjU2AAAACG5pc3RwMjU2AAAAQQTAzIMf0R8+7KPHyaad2AYc5PivpuiV
|
||||
Agf2THXdwHOXWoZz3pG/QBRGx+9n+ucIVT0lkWiMMwV86lSg/6w/DWNuAAAAqP8RaNj/EW
|
||||
jYAAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMDMgx/RHz7so8fJ
|
||||
pp3YBhzk+K+m6JUCB/ZMdd3Ac5dahnPekb9AFEbH72f65whVPSWRaIwzBXzqVKD/rD8NY2
|
||||
4AAAAhANOCLkd997DYpaix3I0BYDXDccdnRQ3SIMevrXTO2r+fAAAACm5vcmFAbml4b3MB
|
||||
AgMEBQ==
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
";
|
||||
|
|
|
|||
7
bin/cluelesshd/test_ed25519_key
Normal file
7
bin/cluelesshd/test_ed25519_key
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
|
||||
QyNTUxOQAAACCSSk9Z/sT8EuBAl1z1QeVOYFsDKamvhTL1bshcG37xIAAAAIi8BQZkvAUG
|
||||
ZAAAAAtzc2gtZWQyNTUxOQAAACCSSk9Z/sT8EuBAl1z1QeVOYFsDKamvhTL1bshcG37xIA
|
||||
AAAEC23OQtXd52ZO/Z4BuFfpi+p5+ffm8/a1/CsuBPduSs85JKT1n+xPwS4ECXXPVB5U5g
|
||||
WwMpqa+FMvVuyFwbfvEgAAAABGhvc3QB
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
1
bin/cluelesshd/test_ed25519_key.pub
Normal file
1
bin/cluelesshd/test_ed25519_key.pub
Normal file
|
|
@ -0,0 +1 @@
|
|||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJJKT1n+xPwS4ECXXPVB5U5gWwMpqa+FMvVuyFwbfvEg host
|
||||
|
|
@ -137,7 +137,6 @@ pub fn hostkey_ed25519(hostkey_private: Vec<u8>) -> HostKeySigningAlgorithm {
|
|||
public_key: |key| {
|
||||
let key = ed25519_dalek::SigningKey::from_bytes(key.try_into().unwrap());
|
||||
let public_key = key.verifying_key();
|
||||
|
||||
PublicKey::Ed25519 { public_key }
|
||||
},
|
||||
sign: |key, data| {
|
||||
|
|
@ -189,16 +188,9 @@ pub fn hostkey_ecdsa_sha2_p256(hostkey_private: Vec<u8>) -> HostKeySigningAlgori
|
|||
hostkey_private,
|
||||
public_key: |key| {
|
||||
let key = p256::ecdsa::SigningKey::from_slice(key).unwrap();
|
||||
let public_key = key.verifying_key();
|
||||
let mut data = Writer::new();
|
||||
|
||||
// <https://datatracker.ietf.org/doc/html/rfc5656#section-3.1>
|
||||
data.string(b"ecdsa-sha2-nistp256");
|
||||
data.string(b"nistp256");
|
||||
// > point compression MAY be used.
|
||||
// But OpenSSH does not appear to support that, so let's NOT use it.
|
||||
data.string(public_key.to_encoded_point(false).as_bytes());
|
||||
todo!()
|
||||
PublicKey::EcdsaSha2NistP256 {
|
||||
public_key: *key.verifying_key(),
|
||||
}
|
||||
},
|
||||
sign: |key, data| {
|
||||
let key = p256::ecdsa::SigningKey::from_slice(key).unwrap();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue