adds cargo checks and tests to workflows and locally
This commit is contained in:
16
.github/workflows/cargo_check.yml
vendored
16
.github/workflows/cargo_check.yml
vendored
@@ -40,6 +40,12 @@ jobs:
|
|||||||
command: check
|
command: check
|
||||||
args: --target thumbv7em-none-eabi --release --features with_ctap1
|
args: --target thumbv7em-none-eabi --release --features with_ctap1
|
||||||
|
|
||||||
|
- name: Check OpenSK with_ctap2_1
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: check
|
||||||
|
args: --target thumbv7em-none-eabi --release --features with_ctap2_1
|
||||||
|
|
||||||
- name: Check OpenSK debug_ctap
|
- name: Check OpenSK debug_ctap
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
with:
|
with:
|
||||||
@@ -76,11 +82,17 @@ jobs:
|
|||||||
command: check
|
command: check
|
||||||
args: --target thumbv7em-none-eabi --release --features debug_ctap,with_ctap1
|
args: --target thumbv7em-none-eabi --release --features debug_ctap,with_ctap1
|
||||||
|
|
||||||
- name: Check OpenSK debug_ctap,with_ctap1,panic_console,debug_allocations,verbose
|
- name: Check OpenSK debug_ctap,with_ctap2_1
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
with:
|
with:
|
||||||
command: check
|
command: check
|
||||||
args: --target thumbv7em-none-eabi --release --features debug_ctap,with_ctap1,panic_console,debug_allocations,verbose
|
args: --target thumbv7em-none-eabi --release --features debug_ctap,with_ctap2_1
|
||||||
|
|
||||||
|
- name: Check OpenSK debug_ctap,with_ctap1,with_ctap2_1,panic_console,debug_allocations,verbose
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: check
|
||||||
|
args: --target thumbv7em-none-eabi --release --features debug_ctap,with_ctap1,with_ctap2_1,panic_console,debug_allocations,verbose
|
||||||
|
|
||||||
- name: Check examples
|
- name: Check examples
|
||||||
uses: actions-rs/cargo@v1
|
uses: actions-rs/cargo@v1
|
||||||
|
|||||||
24
.github/workflows/opensk_test.yml
vendored
24
.github/workflows/opensk_test.yml
vendored
@@ -49,3 +49,27 @@ jobs:
|
|||||||
command: test
|
command: test
|
||||||
args: --features std,with_ctap1
|
args: --features std,with_ctap1
|
||||||
|
|
||||||
|
- name: Unit testing of CTAP2 (release mode + CTAP2.1)
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: test
|
||||||
|
args: --release --features std,with_ctap2_1
|
||||||
|
|
||||||
|
- name: Unit testing of CTAP2 (debug mode + CTAP2.1)
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: test
|
||||||
|
args: --features std,with_ctap2_1
|
||||||
|
|
||||||
|
- name: Unit testing of CTAP2 (release mode + CTAP1 + CTAP2.1)
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: test
|
||||||
|
args: --release --features std,with_ctap1,with_ctap2_1
|
||||||
|
|
||||||
|
- name: Unit testing of CTAP2 (debug mode + CTAP1 + CTAP2.1)
|
||||||
|
uses: actions-rs/cargo@v1
|
||||||
|
with:
|
||||||
|
command: test
|
||||||
|
args: --features std,with_ctap1,with_ctap2_1
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ be FIDO Certified.
|
|||||||
We started adding features of the upcoming next version of the
|
We started adding features of the upcoming next version of the
|
||||||
[CTAP2.1 specifications](https://fidoalliance.org/specs/fido2/fido-client-to-authenticator-protocol-v2.1-rd-20191217.html).
|
[CTAP2.1 specifications](https://fidoalliance.org/specs/fido2/fido-client-to-authenticator-protocol-v2.1-rd-20191217.html).
|
||||||
The development is currently between 2.0 and 2.1, with updates hidden behind a feature flag.
|
The development is currently between 2.0 and 2.1, with updates hidden behind a feature flag.
|
||||||
Please add the flag `shell --ctap2-1` to the deploy command to include them.
|
Please add the flag `--ctap2.1` to the deploy command to include them.
|
||||||
|
|
||||||
### Cryptography
|
### Cryptography
|
||||||
|
|
||||||
|
|||||||
@@ -755,7 +755,7 @@ if __name__ == "__main__":
|
|||||||
"support for U2F/CTAP1 protocol."),
|
"support for U2F/CTAP1 protocol."),
|
||||||
)
|
)
|
||||||
main_parser.add_argument(
|
main_parser.add_argument(
|
||||||
"--ctap2-1",
|
"--ctap2.1",
|
||||||
action=RemoveConstAction,
|
action=RemoveConstAction,
|
||||||
const="with_ctap2_1",
|
const="with_ctap2_1",
|
||||||
dest="features",
|
dest="features",
|
||||||
|
|||||||
@@ -93,4 +93,10 @@ then
|
|||||||
|
|
||||||
echo "Running unit tests on the desktop (debug mode + CTAP2.1)..."
|
echo "Running unit tests on the desktop (debug mode + CTAP2.1)..."
|
||||||
cargo test --features std,with_ctap2_1
|
cargo test --features std,with_ctap2_1
|
||||||
|
|
||||||
|
echo "Running unit tests on the desktop (release mode + CTAP1 + CTAP2.1)..."
|
||||||
|
cargo test --release --features std,with_ctap1,with_ctap2_1
|
||||||
|
|
||||||
|
echo "Running unit tests on the desktop (debug mode + CTAP1 + CTAP2.1)..."
|
||||||
|
cargo test --features std,with_ctap1,with_ctap2_1
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ impl From<PublicKeyCredentialType> for cbor::Value {
|
|||||||
match cred_type {
|
match cred_type {
|
||||||
PublicKeyCredentialType::PublicKey => "public-key",
|
PublicKeyCredentialType::PublicKey => "public-key",
|
||||||
// We should never create this credential type.
|
// We should never create this credential type.
|
||||||
PublicKeyCredentialType::Unknown => unreachable!(),
|
PublicKeyCredentialType::Unknown => "unknown",
|
||||||
}
|
}
|
||||||
.into()
|
.into()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -762,7 +762,6 @@ where
|
|||||||
self.persistent_store.pin_hash().is_some(),
|
self.persistent_store.pin_hash().is_some(),
|
||||||
);
|
);
|
||||||
Ok(ResponseData::AuthenticatorGetInfo(
|
Ok(ResponseData::AuthenticatorGetInfo(
|
||||||
#[cfg(feature = "with_ctap2_1")]
|
|
||||||
AuthenticatorGetInfoResponse {
|
AuthenticatorGetInfoResponse {
|
||||||
versions: vec![
|
versions: vec![
|
||||||
#[cfg(feature = "with_ctap1")]
|
#[cfg(feature = "with_ctap1")]
|
||||||
@@ -776,29 +775,19 @@ where
|
|||||||
pin_protocols: Some(vec![
|
pin_protocols: Some(vec![
|
||||||
CtapState::<R, CheckUserPresence>::PIN_PROTOCOL_VERSION,
|
CtapState::<R, CheckUserPresence>::PIN_PROTOCOL_VERSION,
|
||||||
]),
|
]),
|
||||||
|
#[cfg(feature = "with_ctap2_1")]
|
||||||
max_credential_count_in_list: MAX_CREDENTIAL_COUNT_IN_LIST.map(|c| c as u64),
|
max_credential_count_in_list: MAX_CREDENTIAL_COUNT_IN_LIST.map(|c| c as u64),
|
||||||
// You can use ENCRYPTED_CREDENTIAL_ID_SIZE here, but if your
|
// You can use ENCRYPTED_CREDENTIAL_ID_SIZE here, but if your
|
||||||
// browser passes that value, it might be used to fingerprint.
|
// browser passes that value, it might be used to fingerprint.
|
||||||
|
#[cfg(feature = "with_ctap2_1")]
|
||||||
max_credential_id_length: None,
|
max_credential_id_length: None,
|
||||||
|
#[cfg(feature = "with_ctap2_1")]
|
||||||
transports: Some(vec![AuthenticatorTransport::Usb]),
|
transports: Some(vec![AuthenticatorTransport::Usb]),
|
||||||
|
#[cfg(feature = "with_ctap2_1")]
|
||||||
algorithms: Some(vec![ES256_CRED_PARAM]),
|
algorithms: Some(vec![ES256_CRED_PARAM]),
|
||||||
|
#[cfg(feature = "with_ctap2_1")]
|
||||||
firmware_version: None,
|
firmware_version: None,
|
||||||
},
|
},
|
||||||
#[cfg(not(feature = "with_ctap2_1"))]
|
|
||||||
AuthenticatorGetInfoResponse {
|
|
||||||
versions: vec![
|
|
||||||
#[cfg(feature = "with_ctap1")]
|
|
||||||
String::from(U2F_VERSION_STRING),
|
|
||||||
String::from(FIDO2_VERSION_STRING),
|
|
||||||
],
|
|
||||||
extensions: Some(vec![String::from("hmac-secret")]),
|
|
||||||
aaguid: *AAGUID,
|
|
||||||
options: Some(options_map),
|
|
||||||
max_msg_size: Some(1024),
|
|
||||||
pin_protocols: Some(vec![
|
|
||||||
CtapState::<R, CheckUserPresence>::PIN_PROTOCOL_VERSION,
|
|
||||||
]),
|
|
||||||
},
|
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user