Skip to content

Commit

Permalink
fixup cert parsing
Browse files Browse the repository at this point in the history
Signed-off-by: Arthur Gautier <[email protected]>
  • Loading branch information
baloo committed Apr 12, 2024
1 parent 4573122 commit b2d807b
Show file tree
Hide file tree
Showing 6 changed files with 490 additions and 42 deletions.
5 changes: 3 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,10 @@ tokio = { version = "1", optional = true, features = ["rt", "net"] }
tokio-util = { version = "0.7.1", optional = true, features = ["codec"] }
service-binding = { version = "^2" }
ssh-encoding = { version = "0.2.0" }
ssh-key = { version = "0.6.4", features = ["rsa", "alloc"] }
ssh-key = { version = "0.6.6", features = ["rsa", "alloc"] }
thiserror = "1.0.58"
#uuid = { version = "1.8.0", features = ["v4"] }
subtle = { version = "2", default-features = false }

[features]
default = ["agent"]
Expand All @@ -47,7 +48,7 @@ tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
sha1 = { version = "0.10.5", default-features = false, features = ["oid"] }
testresult = "0.4.0"
hex-literal = "0.4.1"
ssh-key = { version = "0.6.4", features = ["p256"] }
ssh-key = { version = "0.6.6", features = ["p256"] }
p256 = { version = "0.13.2" }
const-str = "0.5.7"
rstest = "0.18.2"
30 changes: 17 additions & 13 deletions examples/key_storage.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ use sha1::Sha1;
use ssh_agent_lib::agent::NamedPipeListener as Listener;
use ssh_agent_lib::agent::{Agent, Session};
use ssh_agent_lib::proto::extension::SessionBind;
use ssh_agent_lib::proto::message::{self, Message, SignRequest};
use ssh_agent_lib::proto::message::{self, Credential, Message, SignRequest};
use ssh_agent_lib::proto::{signature, AddIdentityConstrained, KeyConstraint};
use ssh_key::{
private::{KeypairData, PrivateKey},
Expand Down Expand Up @@ -126,12 +126,14 @@ impl KeyStorage {
Ok(Message::Success)
}
Message::AddIdentity(identity) => {
let privkey = PrivateKey::try_from(identity.privkey).unwrap();
self.identity_add(Identity {
pubkey: PublicKey::from(&privkey),
privkey,
comment: identity.comment,
});
if let Credential::Key { privkey, comment } = identity.credential {
let privkey = PrivateKey::try_from(privkey).unwrap();
self.identity_add(Identity {
pubkey: PublicKey::from(&privkey),
privkey,
comment,
});
}
Ok(Message::Success)
}
Message::AddIdConstrained(AddIdentityConstrained {
Expand All @@ -148,12 +150,14 @@ impl KeyStorage {
}
}
}
let privkey = PrivateKey::try_from(identity.privkey).unwrap();
self.identity_add(Identity {
pubkey: PublicKey::from(&privkey),
privkey,
comment: identity.comment,
});
if let Credential::Key { privkey, comment } = identity.credential {
let privkey = PrivateKey::try_from(privkey).unwrap();
self.identity_add(Identity {
pubkey: PublicKey::from(&privkey),
privkey,
comment,
});
}
Ok(Message::Success)
}
Message::SignRequest(request) => {
Expand Down
2 changes: 2 additions & 0 deletions src/proto.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
pub mod error;
pub mod extension;
pub mod message;
pub mod privatekey;
pub mod signature;

pub use self::error::*;
pub use self::message::*;
pub use self::privatekey::*;
pub use self::signature::*;

pub type MpInt = Vec<u8>;
Loading

0 comments on commit b2d807b

Please sign in to comment.