From baf80d52d1e4b21e3c1bee1c87943afb0cb2b3b6 Mon Sep 17 00:00:00 2001 From: Hatter Jiang Date: Sat, 6 Jul 2024 21:51:16 +0800 Subject: [PATCH] feat: update pkcs11 piv --- native-pkcs11-piv/src/piv/backend.rs | 5 +++++ native-pkcs11-piv/src/piv/key.rs | 13 +++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/native-pkcs11-piv/src/piv/backend.rs b/native-pkcs11-piv/src/piv/backend.rs index 0d8bf25..b32da63 100644 --- a/native-pkcs11-piv/src/piv/backend.rs +++ b/native-pkcs11-piv/src/piv/backend.rs @@ -42,6 +42,7 @@ impl Backend for YubikeyPivBackend { fn find_all_certificates( &self, ) -> P11Result>> { + // TODO ... Ok(vec![]) } @@ -54,6 +55,7 @@ impl Backend for YubikeyPivBackend { KeySearchOptions::Label(label) => {} KeySearchOptions::PublicKeyHash(public_key_hash) => {} } + // TODO ... Ok(None) } @@ -66,18 +68,21 @@ impl Backend for YubikeyPivBackend { KeySearchOptions::Label(label) => {} KeySearchOptions::PublicKeyHash(public_key_hash) => {} } + // TODO ... Ok(None) } fn find_all_private_keys( &self, ) -> P11Result>> { + // TODO ... Ok(vec![]) } fn find_all_public_keys( &self, ) -> P11Result>> { + // TODO ... Ok(vec![]) } diff --git a/native-pkcs11-piv/src/piv/key.rs b/native-pkcs11-piv/src/piv/key.rs index 4570a11..6b101c2 100644 --- a/native-pkcs11-piv/src/piv/key.rs +++ b/native-pkcs11-piv/src/piv/key.rs @@ -72,13 +72,7 @@ impl PrivateKey for YubikeyPivPrivateKey { ) -> P11Result> { match algorithm { SignatureAlgorithm::Ecdsa => {} - SignatureAlgorithm::RsaRaw => {} - SignatureAlgorithm::RsaPkcs1v15Raw => {} - SignatureAlgorithm::RsaPkcs1v15Sha1 => {} - SignatureAlgorithm::RsaPkcs1v15Sha384 => {} - SignatureAlgorithm::RsaPkcs1v15Sha256 => {} - SignatureAlgorithm::RsaPkcs1v15Sha512 => {} - SignatureAlgorithm::RsaPss { .. } => {} + _ => return Err("RSA algorithm not supported.")?, } // TODO sign data or hash?? Ok(vec![]) @@ -152,7 +146,10 @@ impl PublicKey for YubikeyPivPublicKey { data: &[u8], signature: &[u8], ) -> P11Result<()> { - // let algorithm = sigalg_to_seckeyalg(algorithm)?; + match algorithm { + SignatureAlgorithm::Ecdsa => {} + _ => return Err("RSA algorithm not supported.")?, + } // let result = self.sec_key.verify_signature(algorithm, data, signature)?; // if !result { // return Err("verify failed")?;