v0.2.5-pre.009
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
// file: crates/ksp-wallet-lib/unit_tests/crypto.rs
|
||||
// version: 1
|
||||
// version: 2
|
||||
|
||||
use base64::Engine as _;
|
||||
use base64::Engine; // rust-rules: derive-import
|
||||
|
||||
const VECTOR: &[u8] = include_bytes!("../tests/fixtures/kspwallet_v1_crypto_vectors.json");
|
||||
|
||||
@@ -70,15 +70,15 @@ fn deterministic_argon2id_and_xchacha_wrap_vector_matches_external_canary() -> k
|
||||
};
|
||||
assert_eq!(derived.as_bytes(), &expected_derived);
|
||||
|
||||
let content = super::SecretKeyV1::from_bytes(content_key);
|
||||
let wrapped_result = super::wrap_key(&derived, &content, &nonce, aad.as_slice());
|
||||
let content = crate::SecretKeyV1::from_bytes(content_key);
|
||||
let wrapped_result = crate::wrap_key(&derived, &content, &nonce, aad.as_slice());
|
||||
let wrapped = match wrapped_result {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
assert_eq!(wrapped, expected_wrapped);
|
||||
|
||||
let unwrapped_result = super::unwrap_key(&derived, &nonce, aad.as_slice(), wrapped.as_slice());
|
||||
let unwrapped_result = crate::unwrap_key(&derived, &nonce, aad.as_slice(), wrapped.as_slice());
|
||||
let unwrapped = match unwrapped_result {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
@@ -89,16 +89,16 @@ fn deterministic_argon2id_and_xchacha_wrap_vector_matches_external_canary() -> k
|
||||
|
||||
#[test]
|
||||
fn xchacha_tampering_is_reported_as_generic_authentication_failure() -> ksp_core_lib::Result<()> {
|
||||
let key = super::SecretKeyV1::from_bytes([0x11_u8; 32]);
|
||||
let key = crate::SecretKeyV1::from_bytes([0x11_u8; 32]);
|
||||
let nonce = [0x22_u8; crate::KSPWALLET_V1_XCHACHA_NONCE_BYTES];
|
||||
let plaintext = [0x33_u8; 32];
|
||||
let encrypted_result = super::encrypt_bytes(&key, &nonce, b"kspwallet-test-aad", plaintext.as_slice());
|
||||
let encrypted_result = crate::encrypt_bytes(&key, &nonce, b"kspwallet-test-aad", plaintext.as_slice());
|
||||
let mut encrypted = match encrypted_result {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
encrypted[0] ^= 1;
|
||||
let result = super::decrypt_bytes(&key, &nonce, b"kspwallet-test-aad", encrypted.as_slice());
|
||||
let result = crate::decrypt_bytes(&key, &nonce, b"kspwallet-test-aad", encrypted.as_slice());
|
||||
assert!(result.is_err());
|
||||
let error = match result {
|
||||
std::result::Result::Err(error) => error,
|
||||
@@ -110,12 +110,12 @@ fn xchacha_tampering_is_reported_as_generic_authentication_failure() -> ksp_core
|
||||
|
||||
#[test]
|
||||
fn secret_key_debug_is_redacted_and_random_sources_are_callable() -> ksp_core_lib::Result<()> {
|
||||
let key_result = super::SecretKeyV1::random();
|
||||
let key_result = crate::SecretKeyV1::random();
|
||||
let key = match key_result {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
};
|
||||
let nonce_result = super::random_nonce();
|
||||
let nonce_result = crate::random_nonce();
|
||||
let nonce = match nonce_result {
|
||||
std::result::Result::Ok(value) => value,
|
||||
std::result::Result::Err(error) => return std::result::Result::Err(error),
|
||||
|
||||
Reference in New Issue
Block a user