-
Notifications
You must be signed in to change notification settings - Fork 53
/
Copy pathlocal_key.rs
52 lines (43 loc) · 1.29 KB
/
local_key.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#![allow(clippy::bool_assert_comparison)]
use aries_askar::kms::{KeyAlg, LocalKey};
const ERR_CREATE_KEYPAIR: &str = "Error creating keypair";
const ERR_SIGN: &str = "Error signing message";
const ERR_VERIFY: &str = "Error verifying signature";
#[test]
pub fn localkey_sign_verify() {
let keypair = LocalKey::generate_with_rng(KeyAlg::Ed25519, true).expect(ERR_CREATE_KEYPAIR);
let message = b"message".to_vec();
let sig = keypair.sign_message(&message, None).expect(ERR_SIGN);
assert_eq!(
keypair
.verify_signature(&message, &sig, None)
.expect(ERR_VERIFY),
true
);
assert_eq!(
keypair
.verify_signature(b"bad input", &sig, None)
.expect(ERR_VERIFY),
false
);
assert_eq!(
keypair.verify_signature(
// [0u8; 64]
b"xt19s1sp2UZCGhy9rNyb1FtxdKiDGZZPNFnc1KiM9jYYEuHxuwNeFf1oQKsn8zv6yvYBGhXa83288eF4MqN1oDq",
&sig,None
).expect(ERR_VERIFY),
false
);
assert_eq!(
keypair
.verify_signature(&message, b"bad sig", None)
.expect(ERR_VERIFY),
false
);
assert_eq!(
keypair
.verify_signature(&message, &sig, Some("invalid type"))
.is_err(),
true
);
}