CoAP Version is 1 in all the tests.
The client and server may optionally display external_aad and COSE object (before and after compression) to simplify debugging.
When non-indicated, CoAP messages can be NON or CON (implementer's choice).
To be able to run Test 16, the implementer must run an OSCORE-unaware server.
The number used as Object-Security option number is set to 9 in this document.
The list of resources the OSCORE-aware server must implement is the following:
The list of resource the OSCORE-unaware server must implement is the following:
Objective : Verify that CoAP exchange works. Perform a simple GET transaction using COAP, Content-Format and Uri-Path option (Client side)
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request including:
|
2 |
Check |
Client serializes the request |
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response and continues the CoAP processing expected; expected: 2.05 Content Response with:
|
5 |
Verify |
Client displays the received packet |
Objective : Verify that CoAP exchange works. Perform a simple GET transaction using COAP, Content-Format and Uri-Path option (Server side)
Configuration :
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request including:
|
2 |
Check |
Server parses the request and continues the CoAP processing |
3 |
Verify |
Server displays the received packet |
4 |
Check |
Server serialize the response correctly, which is: 2.05 Content Response with:
|
5 |
Verify |
Server displays the sent packet |
Objective : Perform a simple GET transaction using OSCORE, Content-Format and Uri-Path option (Client side)
Configuration :
client security context: Security Context A, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a POST request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 2.04 Changed Response with:
|
5 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
6 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.05 Content Response with:
|
7 |
Verify |
Client displays the received packet |
Objective : Perform a simple GET transaction using OSCORE, Content-Format and Uri-Path option (Server side)
Configuration :
server security context: Security Context B, with:
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
5 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP GET request, including:
|
6 |
Verify |
Server displays the received packet |
7 |
Check |
Server serialize the response correctly, which is: 2.04 Changed Response with:
|
8 |
Verify |
Server displays the sent packet |
Objective : Perform a simple GET transaction using OSCORE, Content-Format and Uri-Path option (Client side), sending an ID Context in the Object Security option
Configuration :
client security context: Security Context C, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a POST request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 2.04 Changed Response with:
|
5 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
6 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.05 Content Response with:
|
7 |
Verify |
Client displays the received packet |
Objective : Perform a simple GET transaction using OSCORE, Content-Format and Uri-Path option (Server side), receiving an ID Context in the Object Security option
Configuration :
server security context: Security Context D, with:
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
5 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP GET request, including:
|
6 |
Verify |
Server displays the received packet |
7 |
Check |
Server serialize the response correctly, which is: 2.04 Changed Response with:
|
8 |
Verify |
Server displays the sent packet |
Objective : Perform a GET transaction using OSCORE, Content-Format, Uri-Path, Uri-Query and ETag option (Client side)
Configuration :
client security context: Security Context A, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a POST request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 2.04 Changed Response with:
|
5 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
6 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.05 Content Response with:
|
7 |
Verify |
Client displays the received packet |
Objective : Perform a GET transaction using OSCORE, Content-Format, Uri-Path, Uri-Query and ETag option (Server side)
Configuration :
server security context: Security Context B, with:
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
5 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP GET request, including:
|
6 |
Verify |
Server displays the received packet |
7 |
Check |
Server serialize the response correctly, which is: 2.04 Changed Response with:
|
8 |
Verify |
Server displays the sent packet |
Objective : Perform a GET transaction using OSCORE, Content-Format, Uri-Path, Accept and Max-Age option (Client side)
Configuration :
client security context: Security Context A, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a POST request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 2.04 Changed Response with:
|
5 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
6 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.05 Content Response with:
|
7 |
Verify |
Client displays the received packet |
Objective :Perform a GET transaction using OSCORE, Content-Format, Uri-Path, Accept and Max-Age option (Server side)
Configuration :
server security context: Security Context B, with:
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
5 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP GET request, including:
|
6 |
Verify |
Server displays the received packet |
7 |
Check |
Server serialize the response correctly, which is: 2.04 Changed Response with:
|
8 |
Verify |
Server displays the sent packet |
Objective : Perform a GET transaction using OSCORE, Content-Format, Uri-Path, and Observe. Response without observe. (Client side)
Configuration :
client security context: Security Context A, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a FETCH request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 2.04 Changed Response with:
|
5 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
6 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.05 Content Response with:
|
7 |
Verify |
Client displays the received packet |
Objective : Perform a GET transaction using OSCORE, Content-Format, Uri-Path, and Observe. Response without observe. (Server side)
Configuration :
server security context: Security Context B, with:
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.05 FETCH with:
|
4 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
5 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP GET request, including:
|
6 |
Verify |
Server displays the received packet |
7 |
Check |
Server serialize the response correctly, which is: 2.04 Changed Response with:
|
8 |
Verify |
Server displays the sent packet |
Objective : Perform a GET transaction using OSCORE, Content-Format, Uri-Path, and Observe (Client side)
Configuration :
client security context: Security Context A, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a FETCH request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 2.05 Content Response with:
|
5 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
6 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.05 Content Response with:
|
7 |
Verify |
Client displays the received packet |
8 |
Check |
Client parses the response; expected: 2.05 Content Response with:
|
9 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
10 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.05 Content Response with:
|
11 |
Verify |
Client displays the received packet |
12 |
Check |
Client parses the response; expected: 2.05 Content Response with:
|
13 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
14 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 5.00 Internal Server Error:
|
15 |
Verify |
Client displays the received packet |
Objective : Perform a GET transaction using OSCORE, Content-Format, Uri-Path, and Observe (Server side)
Configuration :
server security context: Security Context B, with:
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.05 FETCH with:
|
4 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
5 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP GET request, including:
|
6 |
Verify |
Server displays the received packet |
7 |
Check |
Server serialize the response correctly, which is: 2.05 Content Response with:
|
8 |
Verify |
Server displays the sent packet |
9 |
Check |
Server serialize the response correctly, which is: 2.05 Content Response with:
|
10 |
Verify |
Server displays the sent packet |
11 |
Check |
Server serialize the response correctly, which is: 2.05 Content Response with:
|
12 |
Verify |
Server displays the sent packet |
Objective : Perform 2 GET (Registration and Cancellation) transactions using OSCORE, Content-Format, Uri-Path, and Observe (Client side)
Configuration :
client security context: Security Context A, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a FETCH request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 2.05 Content Response with:
|
5 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
6 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.05 Content Response with:
|
7 |
Verify |
Client displays the received packet |
8 |
Check |
Client parses the response; expected: 2.05 Content Response with:
|
9 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
10 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.05 Content Response with:
|
11 |
Verify |
Client displays the received packet |
12 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
13 |
Check |
Client serializes the request, which is a FETCH request, with:
|
14 |
Verify |
Client displays the sent packet |
15 |
Check |
Client parses the response; expected: 2.05 Content Response with:
|
16 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
17 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.05 Content Response with:
|
18 |
Verify |
Client displays the received packet |
Objective : Perform 2 GET (Registration and Cancellation) transactions using OSCORE, Content-Format, Uri-Path, and Observe (Client side)
Configuration :
server security context: Security Context B, with:
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.05 FETCH with:
|
4 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
5 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP GET request, including:
|
6 |
Verify |
Server displays the received packet |
7 |
Check |
Server serialize the response correctly, which is: 2.05 Content Response with:
|
8 |
Verify |
Server displays the sent packet |
9 |
Check |
Server serialize the response correctly, which is: 2.05 Content Response with:
|
10 |
Verify |
Server displays the sent packet |
11 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
12 |
Verify |
Server displays the received packet |
13 |
Check |
Server parses the request; expected: 0.05 FETCH with:
|
14 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
15 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP GET request, including:
|
16 |
Verify |
Server displays the received packet |
17 |
Check |
Server serialize the response correctly, which is: 2.05 Content Response with:
|
18 |
Verify |
Server displays the sent packet |
Objective : Perform a POST transaction using OSCORE, Content-Format, and Uri-Path option, changing a resource (Client side)
Configuration :
client security context: Security Context A, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP POST request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a POST request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 2.04 Changed Response with:
|
5 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
6 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.04 Changed Response with:
|
7 |
Verify |
Client displays the received packet |
Objective : Perform a POST transaction using OSCORE, Content-Format, and Uri-Path option, updating a resource (Server side)
Configuration :
server security context: Security Context B, with:
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP POST request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
5 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP POST request, including:
|
6 |
Verify |
Server displays the received packet |
7 |
Check |
Server serialize the response correctly, which is: 2.04 Changed Response with:
|
8 |
Verify |
Server displays the sent packet |
Objective : Perform a PUT transaction using OSCORE, Uri-Path, Content-Format and If-Match option (Client side)
Configuration :
client security context: Security Context A, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP PUT request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a POST request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 2.04 Changed Response with:
|
5 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
6 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.04 Changed Response |
7 |
Verify |
Client displays the received packet |
Objective : Perform a PUT transaction using OSCORE, Uri-Path, Content-Format and If-Match option (Server side)
Configuration :
server security context: Security Context B, with:
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP PUT request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
5 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP PUT request, including:
|
6 |
Verify |
Server displays the received packet |
7 |
Check |
Server serialize the response correctly, which is: 2.04 Changed Response with:
|
8 |
Verify |
Server displays the sent packet |
Objective : Perform a PUT transaction using OSCORE, Uri-Path, Content-Format and If-None-Match option (Client side)
Configuration :
client security context: Security Context A, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP PUT request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a POST request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 2.04 Changed Response with:
|
5 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
6 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 4.12 Precondition Failed |
7 |
Verify |
Client displays the received packet |
Objective : Perform a PUT transaction using OSCORE, Uri-Path, Content-Format and If-None-Match option (Server side)
Configuration :
server security context: Security Context B, with:
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP PUT request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
5 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP PUT request, including:
|
6 |
Verify |
Server displays the received packet |
7 |
Check |
Server serialize the response correctly, which is: 2.04 Changed Response with:
|
8 |
Verify |
Server displays the sent packet |
Objective : Perform a DELETE transaction using OSCORE and Uri-Path option (Client side)
Configuration :
client security context: Security Context A, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP DEL request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a POST request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 2.04 Changed Response with:
|
5 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
6 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.02 Deleted |
7 |
Verify |
Client displays the received packet |
Objective : Perform a DELETE transaction using OSCORE and Uri-Path option (Server side)
Configuration :
server security context: Security Context B, with:
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP DEL request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
5 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP DEL request, including:
|
6 |
Verify |
Server displays the received packet |
7 |
Check |
Server serialize the response correctly, which is: 2.04 Changed Response with:
|
8 |
Verify |
Server displays the sent packet |
Objective : Perform an unauthorized CON GET transaction: non matching Client Sender Id - Server Recipient Id (Client side)
Configuration :
client security context: Security Context A, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a POST request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 4.01 Unauthorized, with:
|
5 |
Verify |
Client displays the received packet |
Objective :Perform an unauthorized GET transaction: non matching Client Sender Id - Server Recipient Id (Server side)
Configuration :
server security context: Security Context B
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Verify |
Server: OSCORE verification fails (Context not found) |
5 |
Check |
Server serialize the response correctly, which is 4.01 Unauthorized, with:
|
8 |
Verify |
Server displays the sent packet |
Objective : Perform a CON GET transaction with non matching Client Sender - Server Recipient Keys (Client side)
Configuration :
client security context: Security Context A, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a POST request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 4.00 Bad Request error message:
|
7 |
Verify |
Client displays the received packet |
Objective : Perform a CON GET transaction with non matching Client Sender - Server Recipient Keys (Server side)
Configuration :
server security context: Security Context B
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Verify |
Server: OSCORE verification fails (Decryption failed) |
5 |
Check |
Server serialize the response correctly, which is 4.00 Bad Request, with:
|
8 |
Verify |
Server displays the sent packet |
Objective : Perform a CON GET transaction with non matching Client Recipient - Server Sender Keys (Client side)
Configuration :
client security context: Security Context A, with:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a POST request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 2.04 Changed Response with:
|
5 |
Verify |
Client: OSCORE verification fails (Decryption failed) response dropped, empty ACK sent back to the Server |
6 |
Verify |
Client displays the received packet |
Objective : Perform a CON GET transaction with non matching Client Recipient - Server Sender Keys (Server side)
Configuration :
server security context: Security Context B
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
5 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP GET request, including:
|
6 |
Verify |
Server displays the received packet |
7 |
Check |
Server serialize the response correctly, which is: 2.04 Changed Response with:
|
8 |
Verify |
Server displays the sent packet |
Objective : Perform a CON GET transaction using OSCORE, Content-Format and Uri-Path option, request replayed by the Client (Client side)
Configuration :
client security context: Security Context A
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a POST request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 2.04 Changed Response with:
|
5 |
Verify |
Client decrypts the message: OSCORE verification succeeds |
6 |
Check |
Client parses the decrypted response and continues the CoAP processing; expected 2.05 Content Response with:
|
7 |
Verify |
Client displays the received packet |
8 |
Stimulus |
The client is requested to reset its own sequence number to the value before executing step 1 |
9 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
10 |
Check |
Client serializes the request, which is a POST request, with:
|
11 |
Verify |
Client displays the sent packet |
12 |
Check |
Client parses the response; expected: 4.01 Unauthorized, with:
|
15 |
Verify |
Client displays the received packet |
Objective : Perform a CON GET transaction using OSCORE, Content-Format and Uri-Path option, request replayed by the Client (Client side)
Configuration :
server security context: Security Context B
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Verify |
Server decrypts the message: OSCORE verification succeeds |
5 |
Check |
Server parses the request and continues the CoAP processing; expected: CoAP GET request, including:
|
6 |
Verify |
Server displays the received packet |
7 |
Check |
Server serialize the response correctly, which is: 2.04 Changed Response with:
|
8 |
Verify |
Server displays the sent packet |
8 |
Stimulus |
The client is requested to reset its own sequence number to the value before executing step 1 |
9 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Verify |
Server: OSCORE verification fails (Replay protection failed) |
5 |
Check |
Server serialize the response correctly, which is 4.01 Unauthorized, with:
|
8 |
Verify |
Server displays the sent packet |
Objective : Perform a CON GET transaction using OSCORE to an OSCORE-unaware resource server, Content-Format and Uri-Path option (Client side)
Configuration :
client security context: Security Context A
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCORE, including:
|
2 |
Check |
Client serializes the request, which is a POST request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response; expected: 4.02 Bad Option with:
|
5 |
Verify |
Client: OSCORE verification fails (expected OSCORE) response dropped, empty ACK sent back to the Server |
6 |
Verify |
Client displays the received packet |
Objective : Perform a CON GET transaction using OSCORE to a non protected resource, Content-Format and Uri-Path option (Server side)
Configuration :
The server does not implement OSCORE.
server security context: None
server resources:
Note: a 4.05 Method Not Allowed error response is also an acceptable outcome of this test. To avoid entering this case, it is recommended that the /oscore/hello/coap resource also supports the method PUT.
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request, including:
|
2 |
Verify |
Server displays the received packet |
3 |
Check |
Server parses the request; expected: 0.02 POST with:
|
4 |
Check |
Server serialize the response correctly, which is: 4.02 Bad Option with:
|
5 |
Verify |
Server displays the sent packet |
Objective : Perform a CON GET transaction to a protected resource, Content-Format and Uri-Path option (Client side)
Configuration :
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request, including:
|
2 |
Check |
Client serializes the request, which is a GET request, with:
|
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response and continues the CoAP processing; expected: 4.01 Unauthorized error response, with:
|
5 |
Verify |
Client displays the received packet |
Objective : Perform a CON GET transaction to a protected resource, Content-Format and Uri-Path option (Server side)
Configuration :
server security context: Security Context B
server resources:
Test Sequence
Step | Type | Description |
---|---|---|
1 |
Stimulus |
The client is requested to send a CoAP GET request, including:
|
2 |
Check |
Server parses the request; expected: 0.01 GET with:
|
3 |
Verify |
Server displays the received packet |
4 |
Check |
Server serialize the response correctly, which is: 4.01 Unauthorized error response, with:
|
5 |
Verify |
Server displays the sent packet |