AAGUID customization (#600)
* Moves the AAGUID to Customization * Removes the AAGUID from storage The commit is optional on top of the Customization move. I didn't see the point in storing the AAGUID in persistent storage anymore, so I removed it.
This commit is contained in:
9
src/env/test/customization.rs
vendored
9
src/env/test/customization.rs
vendored
@@ -12,12 +12,13 @@
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
use crate::api::customization::{Customization, CustomizationImpl};
|
||||
use crate::api::customization::{Customization, CustomizationImpl, AAGUID_LENGTH};
|
||||
use crate::ctap::data_formats::{CredentialProtectionPolicy, EnterpriseAttestationMode};
|
||||
use alloc::string::String;
|
||||
use alloc::vec::Vec;
|
||||
|
||||
pub struct TestCustomization {
|
||||
aaguid: &'static [u8; AAGUID_LENGTH],
|
||||
allows_pin_protocol_v1: bool,
|
||||
default_cred_protect: Option<CredentialProtectionPolicy>,
|
||||
default_min_pin_length: u8,
|
||||
@@ -54,6 +55,10 @@ impl TestCustomization {
|
||||
}
|
||||
|
||||
impl Customization for TestCustomization {
|
||||
fn aaguid(&self) -> &'static [u8; AAGUID_LENGTH] {
|
||||
self.aaguid
|
||||
}
|
||||
|
||||
fn allows_pin_protocol_v1(&self) -> bool {
|
||||
self.allows_pin_protocol_v1
|
||||
}
|
||||
@@ -126,6 +131,7 @@ impl Customization for TestCustomization {
|
||||
impl From<CustomizationImpl> for TestCustomization {
|
||||
fn from(c: CustomizationImpl) -> Self {
|
||||
let CustomizationImpl {
|
||||
aaguid,
|
||||
allows_pin_protocol_v1,
|
||||
default_cred_protect,
|
||||
default_min_pin_length,
|
||||
@@ -155,6 +161,7 @@ impl From<CustomizationImpl> for TestCustomization {
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
Self {
|
||||
aaguid,
|
||||
allows_pin_protocol_v1,
|
||||
default_cred_protect,
|
||||
default_min_pin_length,
|
||||
|
||||
12
src/env/tock/mod.rs
vendored
12
src/env/tock/mod.rs
vendored
@@ -17,7 +17,7 @@ use crate::api::attestation_store::AttestationStore;
|
||||
use crate::api::connection::{
|
||||
HidConnection, SendOrRecvError, SendOrRecvResult, SendOrRecvStatus, UsbEndpoint,
|
||||
};
|
||||
use crate::api::customization::{CustomizationImpl, DEFAULT_CUSTOMIZATION};
|
||||
use crate::api::customization::{CustomizationImpl, AAGUID_LENGTH, DEFAULT_CUSTOMIZATION};
|
||||
use crate::api::firmware_protection::FirmwareProtection;
|
||||
use crate::api::user_presence::{UserPresence, UserPresenceError, UserPresenceResult};
|
||||
use crate::api::{attestation_store, key_store};
|
||||
@@ -38,6 +38,14 @@ use rng256::Rng256;
|
||||
mod clock;
|
||||
mod storage;
|
||||
|
||||
pub const AAGUID: &[u8; AAGUID_LENGTH] =
|
||||
include_bytes!(concat!(env!("OUT_DIR"), "/opensk_aaguid.bin"));
|
||||
|
||||
const TOCK_CUSTOMIZATION: CustomizationImpl = CustomizationImpl {
|
||||
aaguid: AAGUID,
|
||||
..DEFAULT_CUSTOMIZATION
|
||||
};
|
||||
|
||||
/// RNG backed by the TockOS rng driver.
|
||||
pub struct TockRng256 {}
|
||||
|
||||
@@ -279,7 +287,7 @@ impl Env for TockEnv {
|
||||
}
|
||||
|
||||
fn customization(&self) -> &Self::Customization {
|
||||
&DEFAULT_CUSTOMIZATION
|
||||
&TOCK_CUSTOMIZATION
|
||||
}
|
||||
|
||||
fn main_hid_connection(&mut self) -> &mut Self::HidConnection {
|
||||
|
||||
Reference in New Issue
Block a user