From 6373799dcc7c842a70de585c7fc5bff727f286c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mali=C5=A1a=20Vu=C4=8Dini=C4=87?= Date: Fri, 12 Jul 2024 14:16:06 +0200 Subject: [PATCH] fix(example): align the coap client-server native examples --- examples/coap/src/bin/coapclient.rs | 9 +++++---- examples/coap/src/bin/coapserver.rs | 11 ++++++++--- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/examples/coap/src/bin/coapclient.rs b/examples/coap/src/bin/coapclient.rs index b4c2e771..f85eb6b4 100644 --- a/examples/coap/src/bin/coapclient.rs +++ b/examples/coap/src/bin/coapclient.rs @@ -30,8 +30,8 @@ fn client_handshake() -> Result<(), EDHOCError> { let timeout = Duration::new(5, 0); println!("Client request: {}", url); - let cred_i = CredentialRPK::new(CRED_I.try_into().unwrap()).unwrap(); - let cred_r = CredentialRPK::new(CRED_R.try_into().unwrap()).unwrap(); + let cred_i: Credential = Credential::parse_ccs(CRED_I.try_into().unwrap()).unwrap(); + let cred_r: Credential = Credential::parse_ccs(CRED_R.try_into().unwrap()).unwrap(); let initiator = EdhocInitiator::new( lakers_crypto::default_crypto(), @@ -54,9 +54,10 @@ fn client_handshake() -> Result<(), EDHOCError> { println!("message_2 len = {}", response.message.payload.len()); let message_2 = EdhocMessageBuffer::new_from_slice(&response.message.payload[..]).unwrap(); - let (initiator, c_r, id_cred_r, _ead_2) = initiator.parse_message_2(&message_2)?; + let (mut initiator, c_r, id_cred_r, _ead_2) = initiator.parse_message_2(&message_2)?; let valid_cred_r = credential_check_or_fetch(Some(cred_r), id_cred_r).unwrap(); - let initiator = initiator.verify_message_2(&I, cred_i, valid_cred_r)?; + initiator.set_identity(I.try_into().unwrap(), cred_i); + let initiator = initiator.verify_message_2(valid_cred_r)?; let mut msg_3 = Vec::from(c_r.as_cbor()); let (mut initiator, message_3, prk_out) = diff --git a/examples/coap/src/bin/coapserver.rs b/examples/coap/src/bin/coapserver.rs index 29c5c534..7acfa960 100644 --- a/examples/coap/src/bin/coapserver.rs +++ b/examples/coap/src/bin/coapserver.rs @@ -44,8 +44,13 @@ fn main() { println!("Received message from {}", src); // This is an EDHOC message if request.message.payload[0] == 0xf5 { - let cred_r = CredentialRPK::new(CRED_R.try_into().unwrap()).unwrap(); - let responder = EdhocResponder::new(lakers_crypto::default_crypto(), &R, cred_r); + let cred_r: Credential = Credential::parse_ccs(CRED_R.try_into().unwrap()).unwrap(); + let responder = EdhocResponder::new( + lakers_crypto::default_crypto(), + EDHOCMethod::StatStat, + R.try_into().unwrap(), + cred_r, + ); let message_1: EdhocMessageBuffer = request.message.payload[1..] .try_into() @@ -101,7 +106,7 @@ fn main() { // anyway legally continue; }; - let cred_i = CredentialRPK::new(CRED_I.try_into().unwrap()).unwrap(); + let cred_i = Credential::parse_ccs(CRED_I.try_into().unwrap()).unwrap(); let valid_cred_i = credential_check_or_fetch(Some(cred_i), id_cred_i).unwrap(); let Ok((mut responder, prk_out)) = responder.verify_message_3(valid_cred_i) else { println!("EDHOC error at verify_message_3: {:?}", valid_cred_i);