Skip to content

Commit 1b18d01

Browse files
authored
Merge pull request #263 from samwell61/master
Refactored provider names
2 parents c1c09a5 + e619525 commit 1b18d01

22 files changed

+91
-96
lines changed

src/providers/core_provider/mod.rs renamed to src/providers/core/mod.rs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ const SUPPORTED_OPCODES: [Opcode; 4] = [
3434
/// available.
3535
#[derive(Derivative)]
3636
#[derivative(Debug)]
37-
pub struct CoreProvider {
37+
pub struct Provider {
3838
wire_protocol_version_min: u8,
3939
wire_protocol_version_maj: u8,
4040
provider_info: Vec<ProviderInfo>,
@@ -44,7 +44,7 @@ pub struct CoreProvider {
4444
prov_list: Vec<Arc<dyn Provide + Send + Sync>>,
4545
}
4646

47-
impl Provide for CoreProvider {
47+
impl Provide for Provider {
4848
fn list_opcodes(&self, op: list_opcodes::Operation) -> Result<list_opcodes::Result> {
4949
trace!("list_opcodes ingress");
5050
Ok(list_opcodes::Result {
@@ -87,7 +87,7 @@ impl Provide for CoreProvider {
8787
/// Builder for CoreProvider
8888
#[derive(Derivative, Default)]
8989
#[derivative(Debug)]
90-
pub struct CoreProviderBuilder {
90+
pub struct ProviderBuilder {
9191
version_maj: Option<u8>,
9292
version_min: Option<u8>,
9393
#[derivative(Debug = "ignore")]
@@ -96,10 +96,10 @@ pub struct CoreProviderBuilder {
9696
authenticator_info: Vec<AuthenticatorInfo>,
9797
}
9898

99-
impl CoreProviderBuilder {
99+
impl ProviderBuilder {
100100
/// Create a new CoreProvider builder
101101
pub fn new() -> Self {
102-
CoreProviderBuilder {
102+
ProviderBuilder {
103103
version_maj: None,
104104
version_min: None,
105105
prov_list: Vec::new(),
@@ -130,7 +130,7 @@ impl CoreProviderBuilder {
130130
}
131131

132132
/// Build into a CoreProvider
133-
pub fn build(self) -> std::io::Result<CoreProvider> {
133+
pub fn build(self) -> std::io::Result<Provider> {
134134
let mut provider_opcodes = HashMap::new();
135135
let _ = provider_opcodes.insert(
136136
ProviderID::Core,
@@ -167,7 +167,7 @@ impl CoreProviderBuilder {
167167
id: ProviderID::Core,
168168
});
169169

170-
let core_provider = CoreProvider {
170+
let core_provider = Provider {
171171
wire_protocol_version_maj: self
172172
.version_maj
173173
.ok_or_else(|| Error::new(ErrorKind::InvalidData, "version maj is missing"))?,
@@ -190,7 +190,7 @@ mod tests {
190190

191191
#[test]
192192
fn test_ping() {
193-
let provider = CoreProvider {
193+
let provider = Provider {
194194
wire_protocol_version_min: 8,
195195
wire_protocol_version_maj: 10,
196196
provider_info: Vec::new(),

src/providers/mbed_crypto_provider/aead.rs renamed to src/providers/mbed_crypto/aead.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
// Copyright 2020 Contributors to the Parsec project.
22
// SPDX-License-Identifier: Apache-2.0
3-
use super::{key_management, MbedCryptoProvider};
3+
use super::{key_management, Provider};
44
use crate::authenticators::ApplicationName;
55
use crate::key_info_managers::KeyTriple;
66
use parsec_interface::operations::{psa_aead_decrypt, psa_aead_encrypt};
77
use parsec_interface::requests::{ProviderID, ResponseStatus, Result};
88
use psa_crypto::operations::aead;
99
use psa_crypto::types::key;
1010

11-
impl MbedCryptoProvider {
11+
impl Provider {
1212
pub(super) fn psa_aead_encrypt_internal(
1313
&self,
1414
app_name: ApplicationName,

src/providers/mbed_crypto_provider/asym_encryption.rs renamed to src/providers/mbed_crypto/asym_encryption.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
// Copyright 2020 Contributors to the Parsec project.
22
// SPDX-License-Identifier: Apache-2.0
3-
use super::{key_management, MbedCryptoProvider};
3+
use super::{key_management, Provider};
44
use crate::authenticators::ApplicationName;
55
use crate::key_info_managers::KeyTriple;
66
use parsec_interface::operations::{psa_asymmetric_decrypt, psa_asymmetric_encrypt};
77
use parsec_interface::requests::{ProviderID, ResponseStatus, Result};
88
use psa_crypto::operations::asym_encryption;
99
use psa_crypto::types::key;
1010

11-
impl MbedCryptoProvider {
11+
impl Provider {
1212
pub(super) fn psa_asymmetric_encrypt_internal(
1313
&self,
1414
app_name: ApplicationName,

src/providers/mbed_crypto_provider/asym_sign.rs renamed to src/providers/mbed_crypto/asym_sign.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
// Copyright 2020 Contributors to the Parsec project.
22
// SPDX-License-Identifier: Apache-2.0
3-
use super::{key_management, MbedCryptoProvider};
3+
use super::{key_management, Provider};
44
use crate::authenticators::ApplicationName;
55
use crate::key_info_managers::KeyTriple;
66
use parsec_interface::operations::{psa_sign_hash, psa_verify_hash};
77
use parsec_interface::requests::{ProviderID, ResponseStatus, Result};
88
use psa_crypto::operations::asym_signature;
99
use psa_crypto::types::key;
1010

11-
impl MbedCryptoProvider {
11+
impl Provider {
1212
pub(super) fn psa_sign_hash_internal(
1313
&self,
1414
app_name: ApplicationName,

src/providers/mbed_crypto_provider/generate_random.rs renamed to src/providers/mbed_crypto/generate_random.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
use super::MbedCryptoProvider;
1+
use super::Provider;
22
use parsec_interface::operations::psa_generate_random;
33
use parsec_interface::requests::{ResponseStatus, Result};
44
use psa_crypto::operations::other::generate_random;
55

6-
impl MbedCryptoProvider {
6+
impl Provider {
77
pub(super) fn psa_generate_random_internal(
88
&self,
99
op: psa_generate_random::Operation,

src/providers/mbed_crypto_provider/hash.rs renamed to src/providers/mbed_crypto/hash.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
// Copyright 2020 Contributors to the Parsec project.
22
// SPDX-License-Identifier: Apache-2.0
3-
use super::MbedCryptoProvider;
3+
use super::Provider;
44
use parsec_interface::operations::{psa_hash_compare, psa_hash_compute};
55
use parsec_interface::requests::{ResponseStatus, Result};
66
use psa_crypto::operations::hash;
77

8-
impl MbedCryptoProvider {
8+
impl Provider {
99
pub(super) fn psa_hash_compute_internal(
1010
&self,
1111
op: psa_hash_compute::Operation,

src/providers/mbed_crypto_provider/key_agreement.rs renamed to src/providers/mbed_crypto/key_agreement.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Copyright 2020 Contributors to the Parsec project.
22
// SPDX-License-Identifier: Apache-2.0
3-
use super::{key_management, MbedCryptoProvider};
3+
use super::{key_management, Provider};
44
use crate::authenticators::ApplicationName;
55
use crate::key_info_managers::KeyTriple;
66
use parsec_interface::operations::psa_raw_key_agreement;
@@ -9,7 +9,7 @@ use parsec_interface::secrecy::Secret;
99
use psa_crypto::operations::key_agreement;
1010
use psa_crypto::types::key;
1111

12-
impl MbedCryptoProvider {
12+
impl Provider {
1313
pub(super) fn psa_raw_key_agreement(
1414
&self,
1515
app_name: ApplicationName,

src/providers/mbed_crypto_provider/key_management.rs renamed to src/providers/mbed_crypto/key_management.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Copyright 2020 Contributors to the Parsec project.
22
// SPDX-License-Identifier: Apache-2.0
3-
use super::MbedCryptoProvider;
3+
use super::Provider;
44
use crate::authenticators::ApplicationName;
55
use crate::key_info_managers;
66
use crate::key_info_managers::{KeyInfo, KeyTriple, ManageKeyInfo};
@@ -90,7 +90,7 @@ pub fn key_info_exists(key_triple: &KeyTriple, store_handle: &dyn ManageKeyInfo)
9090
.map_err(key_info_managers::to_response_status)
9191
}
9292

93-
impl MbedCryptoProvider {
93+
impl Provider {
9494
pub(super) fn psa_generate_key_internal(
9595
&self,
9696
app_name: ApplicationName,

src/providers/mbed_crypto_provider/mod.rs renamed to src/providers/mbed_crypto/mod.rs

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ const SUPPORTED_OPCODES: [Opcode; 15] = [
5454
/// Mbed Crypto provider structure
5555
#[derive(Derivative)]
5656
#[derivative(Debug)]
57-
pub struct MbedCryptoProvider {
57+
pub struct Provider {
5858
// When calling write on a reference of key_info_store, a type
5959
// std::sync::RwLockWriteGuard<dyn ManageKeyInfo + Send + Sync> is returned. We need to use the
6060
// dereference operator (*) to access the inner type dyn ManageKeyInfo + Send + Sync and then
@@ -73,21 +73,19 @@ pub struct MbedCryptoProvider {
7373
id_counter: AtomicU32,
7474
}
7575

76-
impl MbedCryptoProvider {
76+
impl Provider {
7777
/// Creates and initialise a new instance of MbedCryptoProvider.
7878
/// Checks if there are not more keys stored in the Key Info Manager than in the MbedCryptoProvider and
7979
/// if there, delete them. Adds Key IDs currently in use in the local IDs store.
8080
/// Returns `None` if the initialisation failed.
81-
fn new(
82-
key_info_store: Arc<RwLock<dyn ManageKeyInfo + Send + Sync>>,
83-
) -> Option<MbedCryptoProvider> {
81+
fn new(key_info_store: Arc<RwLock<dyn ManageKeyInfo + Send + Sync>>) -> Option<Provider> {
8482
// Safety: this function should be called before any of the other Mbed Crypto functions
8583
// are.
8684
if let Err(error) = psa_crypto::init() {
8785
format_error!("Error when initialising Mbed Crypto", error);
8886
return None;
8987
}
90-
let mbed_crypto_provider = MbedCryptoProvider {
88+
let mbed_crypto_provider = Provider {
9189
key_info_store,
9290
key_handle_mutex: Mutex::new(()),
9391
id_counter: AtomicU32::new(key::PSA_KEY_ID_USER_MIN),
@@ -148,7 +146,7 @@ impl MbedCryptoProvider {
148146
}
149147
}
150148

151-
impl Provide for MbedCryptoProvider {
149+
impl Provide for Provider {
152150
fn describe(&self) -> Result<(ProviderInfo, HashSet<Opcode>)> {
153151
trace!("describe ingress");
154152
Ok((ProviderInfo {
@@ -299,15 +297,15 @@ impl Provide for MbedCryptoProvider {
299297
/// Mbed Crypto provider builder
300298
#[derive(Default, Derivative)]
301299
#[derivative(Debug)]
302-
pub struct MbedCryptoProviderBuilder {
300+
pub struct ProviderBuilder {
303301
#[derivative(Debug = "ignore")]
304302
key_info_store: Option<Arc<RwLock<dyn ManageKeyInfo + Send + Sync>>>,
305303
}
306304

307-
impl MbedCryptoProviderBuilder {
305+
impl ProviderBuilder {
308306
/// Create a new provider builder
309-
pub fn new() -> MbedCryptoProviderBuilder {
310-
MbedCryptoProviderBuilder {
307+
pub fn new() -> ProviderBuilder {
308+
ProviderBuilder {
311309
key_info_store: None,
312310
}
313311
}
@@ -316,15 +314,15 @@ impl MbedCryptoProviderBuilder {
316314
pub fn with_key_info_store(
317315
mut self,
318316
key_info_store: Arc<RwLock<dyn ManageKeyInfo + Send + Sync>>,
319-
) -> MbedCryptoProviderBuilder {
317+
) -> ProviderBuilder {
320318
self.key_info_store = Some(key_info_store);
321319

322320
self
323321
}
324322

325323
/// Build into a MbedProvider
326-
pub fn build(self) -> std::io::Result<MbedCryptoProvider> {
327-
MbedCryptoProvider::new(
324+
pub fn build(self) -> std::io::Result<Provider> {
325+
Provider::new(
328326
self.key_info_store
329327
.ok_or_else(|| Error::new(ErrorKind::InvalidData, "missing key info store"))?,
330328
)

src/providers/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,16 @@ use serde::Deserialize;
1212
use std::collections::HashSet;
1313
use zeroize::Zeroize;
1414

15-
pub mod core_provider;
15+
pub mod core;
1616

1717
#[cfg(feature = "pkcs11-provider")]
18-
pub mod pkcs11_provider;
18+
pub mod pkcs11;
1919

2020
#[cfg(feature = "mbed-crypto-provider")]
21-
pub mod mbed_crypto_provider;
21+
pub mod mbed_crypto;
2222

2323
#[cfg(feature = "tpm-provider")]
24-
pub mod tpm_provider;
24+
pub mod tpm;
2525

2626
/// Provider configuration structure
2727
/// For providers configs in Parsec config.toml we use a format similar

0 commit comments

Comments
 (0)