Skip to content

Commit 8654353

Browse files
fixup! Update trussed-core to v0.2
1 parent 9117ae4 commit 8654353

1 file changed

Lines changed: 135 additions & 147 deletions

File tree

backend/tests/backend.rs

Lines changed: 135 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -212,8 +212,8 @@ fn random_pin() -> trussed_auth::Pin {
212212
#[test]
213213
fn basic() {
214214
run(BACKENDS, |client| {
215-
let pin1 = Bytes::try_from(b"12345678").unwrap();
216-
let pin2 = Bytes::try_from(b"123456").unwrap();
215+
let pin1 = Bytes::from(b"12345678");
216+
let pin2 = Bytes::from(b"123456");
217217

218218
let reply = syscall!(client.has_pin(Pin::User));
219219
assert!(!reply.has_pin);
@@ -256,8 +256,8 @@ fn basic() {
256256
#[test]
257257
fn basic_wrapped() {
258258
run(BACKENDS, |client| {
259-
let pin1 = Bytes::try_from(b"12345678").unwrap();
260-
let pin2 = Bytes::try_from(b"123456").unwrap();
259+
let pin1 = Bytes::from(b"12345678");
260+
let pin2 = Bytes::from(b"123456");
261261

262262
let reply = syscall!(client.has_pin(Pin::User));
263263
assert!(!reply.has_pin);
@@ -299,57 +299,53 @@ fn basic_wrapped() {
299299

300300
#[test]
301301
fn hw_key_wrapped() {
302-
run_with_hw_key(
303-
BACKENDS,
304-
Bytes::try_from(b"Some HW ikm").unwrap(),
305-
|client| {
306-
let pin1 = Bytes::try_from(b"12345678").unwrap();
307-
let pin2 = Bytes::try_from(b"123456").unwrap();
302+
run_with_hw_key(BACKENDS, Bytes::from(b"Some HW ikm"), |client| {
303+
let pin1 = Bytes::from(b"12345678");
304+
let pin2 = Bytes::from(b"123456");
308305

309-
let reply = syscall!(client.has_pin(Pin::User));
310-
assert!(!reply.has_pin);
306+
let reply = syscall!(client.has_pin(Pin::User));
307+
assert!(!reply.has_pin);
311308

312-
syscall!(client.set_pin(Pin::User, pin1.clone(), None, true));
309+
syscall!(client.set_pin(Pin::User, pin1.clone(), None, true));
313310

314-
let reply = syscall!(client.has_pin(Pin::User));
315-
assert!(reply.has_pin);
316-
let reply = syscall!(client.has_pin(Pin::Admin));
317-
assert!(!reply.has_pin);
311+
let reply = syscall!(client.has_pin(Pin::User));
312+
assert!(reply.has_pin);
313+
let reply = syscall!(client.has_pin(Pin::Admin));
314+
assert!(!reply.has_pin);
318315

319-
let reply = syscall!(client.pin_retries(Pin::User));
320-
assert_eq!(reply.retries, None);
316+
let reply = syscall!(client.pin_retries(Pin::User));
317+
assert_eq!(reply.retries, None);
321318

322-
let reply = syscall!(client.check_pin(Pin::User, pin1.clone()));
323-
assert!(reply.success);
319+
let reply = syscall!(client.check_pin(Pin::User, pin1.clone()));
320+
assert!(reply.success);
324321

325-
let reply = syscall!(client.pin_retries(Pin::User));
326-
assert_eq!(reply.retries, None);
322+
let reply = syscall!(client.pin_retries(Pin::User));
323+
assert_eq!(reply.retries, None);
327324

328-
let reply = syscall!(client.check_pin(Pin::User, pin2));
329-
assert!(!reply.success);
325+
let reply = syscall!(client.check_pin(Pin::User, pin2));
326+
assert!(!reply.success);
330327

331-
let result = try_syscall!(client.check_pin(Pin::Admin, pin1.clone()));
332-
assert!(result.is_err());
328+
let result = try_syscall!(client.check_pin(Pin::Admin, pin1.clone()));
329+
assert!(result.is_err());
333330

334-
let reply = syscall!(client.pin_retries(Pin::User));
335-
assert_eq!(reply.retries, None);
331+
let reply = syscall!(client.pin_retries(Pin::User));
332+
assert_eq!(reply.retries, None);
336333

337-
syscall!(client.delete_pin(Pin::User));
334+
syscall!(client.delete_pin(Pin::User));
338335

339-
let result = try_syscall!(client.check_pin(Pin::User, pin1));
340-
assert!(result.is_err());
336+
let result = try_syscall!(client.check_pin(Pin::User, pin1));
337+
assert!(result.is_err());
341338

342-
let result = try_syscall!(client.pin_retries(Pin::User));
343-
assert!(result.is_err());
344-
},
345-
)
339+
let result = try_syscall!(client.pin_retries(Pin::User));
340+
assert!(result.is_err());
341+
})
346342
}
347343

348344
#[test]
349345
fn missing_hw_key() {
350346
run_with_missing_hw_key(BACKENDS, |client| {
351-
let pin1 = Bytes::try_from(b"12345678").unwrap();
352-
let pin2 = Bytes::try_from(b"123456").unwrap();
347+
let pin1 = Bytes::from(b"12345678");
348+
let pin2 = Bytes::from(b"123456");
353349

354350
let reply = syscall!(client.has_pin(Pin::User));
355351
assert!(!reply.has_pin);
@@ -396,109 +392,101 @@ fn missing_hw_key() {
396392

397393
#[test]
398394
fn pin_key() {
399-
run_with_hw_key(
400-
BACKENDS,
401-
Bytes::try_from(b"Some HW ikm").unwrap(),
402-
|client| {
403-
let pin1 = Bytes::try_from(b"12345678").unwrap();
404-
let pin2 = Bytes::try_from(b"123456").unwrap();
405-
406-
syscall!(client.set_pin(Pin::User, pin1.clone(), Some(3), true));
407-
assert!(syscall!(client.get_pin_key(Pin::User, pin2.clone()))
408-
.result
409-
.is_none());
410-
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(2));
411-
assert!(!syscall!(client.check_pin(Pin::User, pin2.clone())).success);
412-
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(1));
413-
assert!(syscall!(client.check_pin(Pin::User, pin1.clone())).success);
414-
let key = syscall!(client.get_pin_key(Pin::User, pin1.clone()))
415-
.result
416-
.unwrap();
417-
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(3));
418-
let mac = syscall!(client.sign_hmacsha256(key, b"Some data")).signature;
419-
let key2 = syscall!(client.get_pin_key(Pin::User, pin1.clone()))
420-
.result
421-
.unwrap();
422-
let mac2 = syscall!(client.sign_hmacsha256(key2, b"Some data")).signature;
423-
assert_eq!(mac, mac2);
424-
425-
assert!(syscall!(client.change_pin(Pin::User, pin1.clone(), pin2.clone())).success);
426-
427-
let key3 = syscall!(client.get_pin_key(Pin::User, pin2.clone()))
428-
.result
429-
.unwrap();
430-
let mac3 = syscall!(client.sign_hmacsha256(key3, b"Some data")).signature;
431-
assert_eq!(mac, mac3);
432-
433-
assert!(!syscall!(client.check_pin(Pin::User, pin1.clone())).success);
434-
assert!(!syscall!(client.check_pin(Pin::User, pin1.clone())).success);
435-
assert!(!syscall!(client.check_pin(Pin::User, pin1)).success);
436-
assert!(!syscall!(client.check_pin(Pin::User, pin2.clone())).success);
437-
assert!(syscall!(client.get_pin_key(Pin::User, pin2))
438-
.result
439-
.is_none());
440-
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(0));
441-
},
442-
)
395+
run_with_hw_key(BACKENDS, Bytes::from(b"Some HW ikm"), |client| {
396+
let pin1 = Bytes::from(b"12345678");
397+
let pin2 = Bytes::from(b"123456");
398+
399+
syscall!(client.set_pin(Pin::User, pin1.clone(), Some(3), true));
400+
assert!(syscall!(client.get_pin_key(Pin::User, pin2.clone()))
401+
.result
402+
.is_none());
403+
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(2));
404+
assert!(!syscall!(client.check_pin(Pin::User, pin2.clone())).success);
405+
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(1));
406+
assert!(syscall!(client.check_pin(Pin::User, pin1.clone())).success);
407+
let key = syscall!(client.get_pin_key(Pin::User, pin1.clone()))
408+
.result
409+
.unwrap();
410+
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(3));
411+
let mac = syscall!(client.sign_hmacsha256(key, b"Some data")).signature;
412+
let key2 = syscall!(client.get_pin_key(Pin::User, pin1.clone()))
413+
.result
414+
.unwrap();
415+
let mac2 = syscall!(client.sign_hmacsha256(key2, b"Some data")).signature;
416+
assert_eq!(mac, mac2);
417+
418+
assert!(syscall!(client.change_pin(Pin::User, pin1.clone(), pin2.clone())).success);
419+
420+
let key3 = syscall!(client.get_pin_key(Pin::User, pin2.clone()))
421+
.result
422+
.unwrap();
423+
let mac3 = syscall!(client.sign_hmacsha256(key3, b"Some data")).signature;
424+
assert_eq!(mac, mac3);
425+
426+
assert!(!syscall!(client.check_pin(Pin::User, pin1.clone())).success);
427+
assert!(!syscall!(client.check_pin(Pin::User, pin1.clone())).success);
428+
assert!(!syscall!(client.check_pin(Pin::User, pin1)).success);
429+
assert!(!syscall!(client.check_pin(Pin::User, pin2.clone())).success);
430+
assert!(syscall!(client.get_pin_key(Pin::User, pin2))
431+
.result
432+
.is_none());
433+
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(0));
434+
})
443435
}
444436

445437
#[test]
446438
fn reset_pin_key() {
447-
run_with_hw_key(
448-
BACKENDS,
449-
Bytes::try_from(b"Some HW ikm").unwrap(),
450-
|client| {
451-
let pin1 = Bytes::try_from(b"12345678").unwrap();
452-
let pin2 = Bytes::try_from(b"123456").unwrap();
453-
let pin3 = Bytes::try_from(b"1234567890").unwrap();
454-
455-
syscall!(client.set_pin(Pin::User, pin1.clone(), Some(3), true));
456-
assert!(syscall!(client.get_pin_key(Pin::User, pin2.clone()))
457-
.result
458-
.is_none());
459-
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(2));
460-
assert!(!syscall!(client.check_pin(Pin::User, pin2.clone())).success);
461-
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(1));
462-
assert!(syscall!(client.check_pin(Pin::User, pin1.clone())).success);
463-
let key = syscall!(client.get_pin_key(Pin::User, pin1))
464-
.result
465-
.unwrap();
466-
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(3));
467-
let mac = syscall!(client.sign_hmacsha256(key, b"Some data")).signature;
468-
469-
syscall!(client.set_pin_with_key(Pin::User, pin3.clone(), Some(3), key));
470-
471-
let key2 = syscall!(client.get_pin_key(Pin::User, pin3.clone()))
472-
.result
473-
.unwrap();
474-
let mac2 = syscall!(client.sign_hmacsha256(key2, b"Some data")).signature;
475-
assert_eq!(mac, mac2);
476-
477-
assert!(syscall!(client.change_pin(Pin::User, pin3.clone(), pin2.clone())).success);
478-
479-
let key3 = syscall!(client.get_pin_key(Pin::User, pin2.clone()))
480-
.result
481-
.unwrap();
482-
let mac3 = syscall!(client.sign_hmacsha256(key3, b"Some data")).signature;
483-
assert_eq!(mac, mac3);
484-
485-
assert!(!syscall!(client.check_pin(Pin::User, pin3.clone())).success);
486-
assert!(!syscall!(client.check_pin(Pin::User, pin3.clone())).success);
487-
assert!(!syscall!(client.check_pin(Pin::User, pin3)).success);
488-
assert!(!syscall!(client.check_pin(Pin::User, pin2.clone())).success);
489-
assert!(syscall!(client.get_pin_key(Pin::User, pin2))
490-
.result
491-
.is_none());
492-
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(0));
493-
},
494-
)
439+
run_with_hw_key(BACKENDS, Bytes::from(b"Some HW ikm"), |client| {
440+
let pin1 = Bytes::from(b"12345678");
441+
let pin2 = Bytes::from(b"123456");
442+
let pin3 = Bytes::from(b"1234567890");
443+
444+
syscall!(client.set_pin(Pin::User, pin1.clone(), Some(3), true));
445+
assert!(syscall!(client.get_pin_key(Pin::User, pin2.clone()))
446+
.result
447+
.is_none());
448+
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(2));
449+
assert!(!syscall!(client.check_pin(Pin::User, pin2.clone())).success);
450+
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(1));
451+
assert!(syscall!(client.check_pin(Pin::User, pin1.clone())).success);
452+
let key = syscall!(client.get_pin_key(Pin::User, pin1))
453+
.result
454+
.unwrap();
455+
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(3));
456+
let mac = syscall!(client.sign_hmacsha256(key, b"Some data")).signature;
457+
458+
syscall!(client.set_pin_with_key(Pin::User, pin3.clone(), Some(3), key));
459+
460+
let key2 = syscall!(client.get_pin_key(Pin::User, pin3.clone()))
461+
.result
462+
.unwrap();
463+
let mac2 = syscall!(client.sign_hmacsha256(key2, b"Some data")).signature;
464+
assert_eq!(mac, mac2);
465+
466+
assert!(syscall!(client.change_pin(Pin::User, pin3.clone(), pin2.clone())).success);
467+
468+
let key3 = syscall!(client.get_pin_key(Pin::User, pin2.clone()))
469+
.result
470+
.unwrap();
471+
let mac3 = syscall!(client.sign_hmacsha256(key3, b"Some data")).signature;
472+
assert_eq!(mac, mac3);
473+
474+
assert!(!syscall!(client.check_pin(Pin::User, pin3.clone())).success);
475+
assert!(!syscall!(client.check_pin(Pin::User, pin3.clone())).success);
476+
assert!(!syscall!(client.check_pin(Pin::User, pin3)).success);
477+
assert!(!syscall!(client.check_pin(Pin::User, pin2.clone())).success);
478+
assert!(syscall!(client.get_pin_key(Pin::User, pin2))
479+
.result
480+
.is_none());
481+
assert_eq!(syscall!(client.pin_retries(Pin::User)).retries, Some(0));
482+
})
495483
}
496484

497485
#[test]
498486
fn blocked_pin() {
499487
run(BACKENDS, |client| {
500-
let pin1 = Bytes::try_from(b"12345678").unwrap();
501-
let pin2 = Bytes::try_from(b"123456").unwrap();
488+
let pin1 = Bytes::from(b"12345678");
489+
let pin2 = Bytes::from(b"123456");
502490

503491
syscall!(client.set_pin(Pin::User, pin1.clone(), Some(3), false));
504492

@@ -518,8 +506,8 @@ fn blocked_pin() {
518506
#[test]
519507
fn set_blocked_pin() {
520508
run(BACKENDS, |client| {
521-
let pin1 = Bytes::try_from(b"12345678").unwrap();
522-
let pin2 = Bytes::try_from(b"123456").unwrap();
509+
let pin1 = Bytes::from(b"12345678");
510+
let pin2 = Bytes::from(b"123456");
523511

524512
syscall!(client.set_pin(Pin::User, pin1.clone(), Some(1), false));
525513
let reply = syscall!(client.check_pin(Pin::User, pin1.clone()));
@@ -539,7 +527,7 @@ fn set_blocked_pin() {
539527
fn empty_pin() {
540528
run(BACKENDS, |client| {
541529
let pin1 = Bytes::new();
542-
let pin2 = Bytes::try_from(b"123456").unwrap();
530+
let pin2 = Bytes::from(b"123456");
543531

544532
syscall!(client.set_pin(Pin::User, pin1.clone(), None, false));
545533
let reply = syscall!(client.has_pin(Pin::User));
@@ -575,9 +563,9 @@ fn max_pin_length() {
575563
#[test]
576564
fn pin_retries() {
577565
run(BACKENDS, |client| {
578-
let pin1 = Bytes::try_from(b"12345678").unwrap();
579-
let pin2 = Bytes::try_from(b"123456").unwrap();
580-
let pin3 = Bytes::try_from(b"654321").unwrap();
566+
let pin1 = Bytes::from(b"12345678");
567+
let pin2 = Bytes::from(b"123456");
568+
let pin3 = Bytes::from(b"654321");
581569

582570
syscall!(client.set_pin(Pin::User, pin1.clone(), Some(3), false));
583571
syscall!(client.set_pin(Pin::Admin, pin2.clone(), Some(5), false));
@@ -625,7 +613,7 @@ fn pin_retries() {
625613
#[test]
626614
fn delete_pin() {
627615
run(BACKENDS, |client| {
628-
let pin = Bytes::try_from(b"123456").unwrap();
616+
let pin = Bytes::from(b"123456");
629617

630618
syscall!(client.set_pin(Pin::User, pin.clone(), None, false));
631619
let reply = syscall!(client.has_pin(Pin::User));
@@ -645,8 +633,8 @@ fn delete_pin() {
645633
#[test]
646634
fn delete_all_pins() {
647635
run(BACKENDS, |client| {
648-
let pin1 = Bytes::try_from(b"123456").unwrap();
649-
let pin2 = Bytes::try_from(b"12345678").unwrap();
636+
let pin1 = Bytes::from(b"123456");
637+
let pin2 = Bytes::from(b"12345678");
650638

651639
syscall!(client.set_pin(Pin::User, pin1.clone(), None, false));
652640
syscall!(client.set_pin(Pin::Admin, pin2.clone(), None, false));
@@ -684,8 +672,8 @@ fn delete_all_pins() {
684672
#[test]
685673
fn reset_application_key() {
686674
run(BACKENDS, |client| {
687-
let info1 = Message::try_from(b"test1").unwrap();
688-
let info2 = Message::try_from(b"test2").unwrap();
675+
let info1 = Message::from(b"test1");
676+
let info2 = Message::from(b"test2");
689677
let app_key1 = syscall!(client.get_application_key(info1.clone())).key;
690678
let app_key2 = syscall!(client.get_application_key(info2)).key;
691679
let mac1 = syscall!(client.sign_hmacsha256(app_key1, b"Some data")).signature;
@@ -720,8 +708,8 @@ fn reset_application_key() {
720708
fn reset_auth_data() {
721709
run(BACKENDS, |client| {
722710
/* ------- APP KEYS ------- */
723-
let info1 = Message::try_from(b"test1").unwrap();
724-
let info2 = Message::try_from(b"test2").unwrap();
711+
let info1 = Message::from(b"test1");
712+
let info2 = Message::from(b"test2");
725713
let app_key1 = syscall!(client.get_application_key(info1.clone())).key;
726714
let app_key2 = syscall!(client.get_application_key(info2)).key;
727715
let mac1 = syscall!(client.sign_hmacsha256(app_key1, b"Some data")).signature;
@@ -735,8 +723,8 @@ fn reset_auth_data() {
735723
assert_eq!(mac1, mac1_again);
736724

737725
/* ------- PINS ------- */
738-
let pin1 = Bytes::try_from(b"123456").unwrap();
739-
let pin2 = Bytes::try_from(b"12345678").unwrap();
726+
let pin1 = Bytes::from(b"123456");
727+
let pin2 = Bytes::from(b"12345678");
740728

741729
syscall!(client.set_pin(Pin::User, pin1.clone(), None, false));
742730
syscall!(client.set_pin(Pin::Admin, pin2.clone(), None, false));

0 commit comments

Comments
 (0)