CoAP Version is 2 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)
The list of resources the 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 OSCOAP, 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 OSCOAP, 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 (OSCOAP verification succeeds); expected: 2.05 Content Response with:
|
5 |
Verify |
Client displays the received packet |
Objective : Perform a simple GET transaction using OSCOAP, 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 OSCOAP, including:
|
2 |
Check |
Server parses the request and continues the CoAP processing (OSCOAP verification succeeds) |
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 GET transaction using OSCOAP, 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 OSCOAP, 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 (OSCOAP verification succeeds); expected: 2.05 Content Response with:
|
5 |
Verify |
Client displays the received packet |
Objective : Perform a GET transaction using OSCOAP, 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 OSCOAP, including:
|
2 |
Check |
Server parses the request and continues the CoAP processing (OSCOAP verification succeeds) |
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 GET transaction using OSCOAP, 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 OSCOAP, 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 (OSCOAP verification succeeds); expected: 2.05 Content Response with:
|
5 |
Verify |
Client displays the received packet |
Objective :Perform a GET transaction using OSCOAP, 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 OSCOAP, including:
|
2 |
Check |
Server parses the request and continues the CoAP processing (OSCOAP verification succeeds) |
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 GET transaction using OSCOAP, 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 OSCOAP, 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 (OSCOAP verification succeeds); expected: 2.05 Content Response with:
|
5 |
Verify |
Client displays the received packet |
Objective : Perform a GET transaction using OSCOAP, 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 OSCOAP, including:
|
2 |
Check |
Server parses the request and continues the CoAP processing (OSCOAP verification succeeds) |
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 GET transaction using OSCOAP, 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 OSCOAP, 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 (OSCOAP verification succeeds); expected: 2.05 Content Response with:
|
5 |
Verify |
Client displays the received packet |
6 |
Check |
Client parses the response and continues the CoAP processing (OSCOAP verification succeeds); expected: 2.05 Content Response with:
|
7 |
Verify |
Client displays the received packet |
Etc.
Objective : Perform a GET transaction using OSCOAP, 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 OSCOAP, including:
|
2 |
Check |
Server parses the request and continues the CoAP processing (OSCOAP verification succeeds) |
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 |
6 |
Check |
Server serialize the response correctly, which is: 2.05 Content Response with:
|
7 |
Verify |
Server displays the sent packet |
Etc.
Objective : Perform a POST transaction using OSCOAP, Content-Format, and Uri-Path option, creating 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 OSCOAP, 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 (OSCOAP verification succeeds); expected: 2.04 Changed Response with:
|
5 |
Verify |
Client displays the received packet |
Objective : Perform a POST transaction using OSCOAP, 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 OSCOAP, including:
|
2 |
Check |
Server parses the request and continues the CoAP processing (OSCOAP verification succeeds) |
3 |
Verify |
Server displays the received packet |
4 |
Check |
Server serialize the response correctly, which is: 2.04 Changed Response with:
|
5 |
Verify |
Server displays the sent packet |
Objective : Perform a PUT transaction using OSCOAP, 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 OSCOAP, 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 (OSCOAP verification succeeds); expected: 2.04 Changed Response with:
|
5 |
Verify |
Client displays the received packet |
Objective : Perform a PUT transaction using OSCOAP, 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 OSCOAP, including:
|
2 |
Check |
Server parses the request and continues the CoAP processing (OSCOAP verification succeeds) |
3 |
Verify |
Server displays the received packet |
4 |
Check |
Server serialize the response correctly, which is: 2.04 Changed Response with:
|
5 |
Verify |
Server displays the sent packet |
Objective : Perform a PUT transaction using OSCOAP, 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 OSCOAP, 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 (OSCOAP verification succeeds); expected: 4.12 Precondition Failed Response with:
|
5 |
Verify |
Client displays the received packet |
Objective : Perform a PUT transaction using OSCOAP, 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 OSCOAP, including:
|
2 |
Check |
Server parses the request and continues the CoAP processing (OSCOAP verification succeeds) |
3 |
Verify |
Server displays the received packet |
4 |
Check |
Server serialize the response correctly, which is: 4.12 Precondition Failed Response with:
|
5 |
Verify |
Server displays the sent packet |
Objective : Perform a DELETE transaction using OSCOAP 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 OSCOAP, 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 (OSCOAP verification succeeds); expected: 2.02 Deleted Response with:
|
5 |
Verify |
Client displays the received packet |
Objective : Perform a DELETE transaction using OSCOAP 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 OSCOAP, including:
|
2 |
Check |
Server parses the request and continues the CoAP processing (OSCOAP verification succeeds) |
3 |
Verify |
Server displays the received packet |
4 |
Check |
Server serialize the response correctly, which is: 2.02 Deleted Response with:
|
5 |
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 OSCOAP, including:
|
2 |
Check |
Client serializes the request |
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response : OSCOAP verification succeeds; expected response: 4.01 Unauthorized error message:
|
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 OSCOAP, including:
|
2 |
Check |
The message verification [7.2] fails and the server sends an error back (stop CoAP processing) |
3 |
Verify |
Server displays the received packet |
4 |
Check |
Server serialize the response correctly, which is: 4.01 Unauthorized error message:
|
5 |
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 OSCOAP, including:
|
2 |
Check |
Client serializes the request |
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response : OSCOAP verification succeeds; expected response: 4.00 Bad Request error message:
|
5 |
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 OSCOAP, including:
|
2 |
Check |
The message verification [7.2] fails and the server sends an error back (stop CoAP processing) |
3 |
Verify |
Server displays the received packet |
4 |
Check |
Server serialize the response correctly, which is: 4.00 Bad Request error message:
|
5 |
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 OSCOAP, including:
|
2 |
Check |
Client serializes the request |
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response : OSCOAP verification failure [7.4]; response dropped empty ACK sent back to the server |
5 |
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 OSCOAP, including:
|
2 |
Check |
Server parses the request and continues the CoAP processing (OSCOAP verification succeeds) |
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 CON GET transaction using OSCOAP, 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 OSCOAP, 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 (OSCOAP verification succeeds); expected: 2.05 Content Response with:
|
5 |
Verify |
Client displays the received packet |
6 |
Stimulus |
The client is requested to reset its own sequence number to the value before executing step 1 |
7 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCOAP, including:
|
8 |
Check |
Client serializes the request |
9 |
Verify |
Client displays the sent packet |
10 |
Check |
Client parses the response and continues the CoAP processing (OSCOAP verification succeeds); expected: 4.00 Bad Request error message:
|
11 |
Verify |
Client displays the received packet |
Objective : Perform a CON GET transaction using OSCOAP, 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 OSCOAP, including:
|
2 |
Check |
Server parses the request and continues the CoAP processing (OSCOAP verification succeeds) |
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 |
6 |
Stimulus |
The client is requested to reset its own sequence number to the value before executing step 1 |
7 |
Stimulus |
The client is requested to send a CoAP GET request protected with OSCOAP, including:
|
2 |
Check |
The message verification [6.2] fails and the server sends an error back (stop CoAP processing) |
3 |
Verify |
Server displays the received packet |
4 |
Check |
Server serialize the response correctly, which is: 4.00 Bad Request error message:
|
5 |
Verify |
Server displays the sent packet |
Objective : Perform a CON GET transaction using OSCOAP to a non protected resource, 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 OSCOAP, including:
|
2 |
Check |
Client serializes the request |
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Client parses the response : OSCOAP verification failure [7.4]; response dropped empty ACK sent back to the server |
5 |
Verify |
Client displays the received packet |
Objective : Perform a CON GET transaction using OSCOAP to a non protected resource, Content-Format and Uri-Path option (Server side)
Configuration :
The server does not implement OSCOAP.
server security context: None
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 finds an unrecognized option of class "critical" (the object-security option) |
3 |
Verify |
Server displays the received packet |
4 |
Check |
Server serialize the response correctly, which is: 4.02 Bad Option error response, 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 protected with OSCOAP, including:
|
2 |
Check |
Client serializes the request |
3 |
Verify |
Client displays the sent packet |
4 |
Check |
Server serialize the response correctly, which is: 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 :
The server does not implement OSCOAP.
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 OSCOAP, including:
|
2 |
Check |
Server parses the request and finds an unrecognized option of class "critical" (the object-security option) |
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 |