1 //! EdDSA verification tests 2 3 use super::*; 4 5 define_test_set!("EdDSA verify", "eddsa_verify_schema.json"); 6 7 define_test_set_names!( 8 Ed25519 => "eddsa", 9 Ed448 => "ed448" 10 ); 11 12 define_algorithm_map!("EDDSA" => EdDsa); 13 14 define_test_flags!(SignatureMalleability); 15 16 define_typeid!(TestKeyTypeId => "EDDSAKeyPair"); 17 18 #[derive(Debug, Clone, Hash, Eq, PartialEq, Deserialize)] 19 #[serde(deny_unknown_fields)] 20 pub struct TestKey { 21 pub curve: EdwardsCurve, 22 #[serde(rename = "keySize")] 23 pub key_size: usize, 24 #[serde(deserialize_with = "vec_from_hex")] 25 pub pk: Vec<u8>, 26 #[serde(deserialize_with = "vec_from_hex")] 27 pub sk: Vec<u8>, 28 #[serde(rename = "type")] 29 typ: TestKeyTypeId, 30 } 31 32 define_typeid!(TestGroupTypeId => "EddsaVerify"); 33 34 define_test_group!( 35 jwk: Option<EddsaJwk>, 36 key: TestKey, 37 "keyDer" => der: Vec<u8> | "vec_from_hex", 38 "keyPem" => pem: String, 39 ); 40 41 define_test!(msg: Vec<u8>, sig: Vec<u8>); 42