asn.1/devicegroup.asn1
author Volker Birk <vb@pep.foundation>
Tue, 27 Dec 2016 21:13:41 +0100
changeset 1513 e7f7e42385b5
parent 1297 78f5f9894fbd
child 1585 655cfb838ac6
permissions -rw-r--r--
adding license info to each file
     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     partner Identity /* identity of the receiver */
    18 }
    19 
    20 GroupKeys ::= SEQUENCE {
    21     partner Identity, /* identity of the receiver */
    22     ownIdentities IdentityList
    23 }
    24 
    25 GroupUpdate ::= SEQUENCE {
    26     ownIdentities IdentityList
    27 }
    28 
    29 /* TODO: narrow request to single key */
    30 UpdateRequest ::= NULL 
    31 
    32 /* for the tags see end of sync.fsm */
    33 
    34 DeviceGroup-Protocol ::= SEQUENCE {
    35     header SEQUENCE {
    36         version     Version,
    37         sequence    INTEGER,  /* always increases */
    38         me          Identity, /* identity of the sender */
    39         state       INTEGER,  /* state the sender is in */
    40         devicegroup BOOLEAN
    41             /* signals if this message is coming from a device group member */
    42     },
    43 
    44     payload CHOICE {
    45         beacon [APPLICATION 2] Beacon,
    46         handshakeRequest [APPLICATION 3] HandshakeRequest,
    47         groupKeys [APPLICATION 4] GroupKeys,
    48         groupUpdate [APPLICATION 5] GroupUpdate,
    49         updateRequest [APPLICATION 6] UpdateRequest
    50     }
    51 }
    52 
    53 END
    54