asn.1/devicegroup.asn1
author Krista Bennett <krista@pep-project.org>
Mon, 07 May 2018 15:34:55 +0200
branchlocal_cpptest
changeset 2653 232367954cc5
parent 1605 54bb3990a70f
permissions -rw-r--r--
Finally have session vs. individual setup/teardown working. Will set up the remaining test shells, and then finis for now.
     1 /* This file is under GNU General Public License 3.0 */
     2 /* see LICENSE.txt */
     3 
     4 DEVICEGROUP
     5     { iso(1) org(3) dod(6) internet(1) private(4) enterprise(1) pEp (47878) sync(1) keysync(1) }
     6 
     7 DEFINITIONS AUTOMATIC TAGS EXTENSIBILITY IMPLIED ::=
     8 
     9 BEGIN
    10 
    11 EXPORTS DeviceGroup-Protocol;
    12 IMPORTS Version, Identity, IdentityList FROM PEP;
    13 
    14 Beacon ::= NULL
    15 
    16 HandshakeRequest ::= SEQUENCE {
    17     /* UUID of receiver, group UUID if grouped */
    18     partner-id     UTF8String  (SIZE(1..1024)) OPTIONAL,
    19     /* Group UUID of sender, if grouped */
    20     group-id       UTF8String  (SIZE(1..1024)) OPTIONAL
    21 }
    22 
    23 GroupKeys ::= SEQUENCE {
    24     /* UUID of receiver */
    25     partner-id     UTF8String  (SIZE(1..1024)) OPTIONAL,
    26     /* Group UUID of sender */
    27     group-id       UTF8String  (SIZE(1..1024)) OPTIONAL,
    28     ownIdentities IdentityList
    29 }
    30 
    31 GroupUpdate ::= SEQUENCE {
    32     ownIdentities IdentityList
    33 }
    34 
    35 /* TODO: narrow request to single key */
    36 UpdateRequest ::= NULL 
    37 
    38 /* for the tags see end of sync.fsm */
    39 
    40 DeviceGroup-Protocol ::= SEQUENCE {
    41     header SEQUENCE {
    42         version     Version,
    43         sequence    INTEGER,  /* always increases */
    44         me          Identity, /* identity of the sender */
    45         state       INTEGER,  /* state the sender is in */
    46         devicegroup BOOLEAN
    47             /* signals if this message is coming from a device group member */
    48     },
    49 
    50     payload CHOICE {
    51         beacon [APPLICATION 2] Beacon,
    52         handshakeRequest [APPLICATION 3] HandshakeRequest,
    53         groupKeys [APPLICATION 4] GroupKeys,
    54         groupUpdate [APPLICATION 5] GroupUpdate,
    55         updateRequest [APPLICATION 6] UpdateRequest
    56     }
    57 }
    58 
    59 END
    60