Skip to content

Commit

Permalink
validation: add CryptoOps trait (#9297)
Browse files Browse the repository at this point in the history
* validation: add CryptoOps trait

Signed-off-by: William Woodruff <[email protected]>

* validation: rename: backend -> ops

Signed-off-by: William Woodruff <[email protected]>

---------

Signed-off-by: William Woodruff <[email protected]>
  • Loading branch information
woodruffw authored Jul 26, 2023
1 parent 1fac99a commit 1e24606
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
1 change: 1 addition & 0 deletions src/rust/cryptography-x509-validation/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@

#![forbid(unsafe_code)]

pub mod ops;
pub mod types;
18 changes: 18 additions & 0 deletions src/rust/cryptography-x509-validation/src/ops.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// This file is dual licensed under the terms of the Apache License, Version
// 2.0, and the BSD License. See the LICENSE file in the root of this repository
// for complete details.

use cryptography_x509::certificate::Certificate;

pub trait CryptoOps {
/// A public key type for this cryptographic backend.
type Key;

/// Extracts the public key from the given `Certificate` in
/// a `Key` format known by the cryptographic backend.
fn public_key(&self, cert: &Certificate) -> Self::Key;

/// Verifies the signature on `Certificate` using the given
/// `Key`.
fn is_signed_by(&self, cert: &Certificate, key: Self::Key) -> bool;
}

0 comments on commit 1e24606

Please sign in to comment.