asn.1/devicegroup.asn1
author Edouard Tisserant <edouard@pep-project.org>
Thu, 16 Feb 2017 12:43:35 +0100
branchGroupMerge
changeset 1586 599deda50386
parent 1585 655cfb838ac6
child 1605 54bb3990a70f
permissions -rw-r--r--
KeySync: added device group merge. Builds but still untested.
     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-id     UTF8String  (SIZE(1..1024)) OPTIONAL,
    18     group-id       UTF8String  (SIZE(1..1024)) OPTIONAL
    19 }
    20 
    21 GroupKeys ::= SEQUENCE {
    22     partner-id     UTF8String  (SIZE(1..1024)) OPTIONAL,
    23     group-id       UTF8String  (SIZE(1..1024)) OPTIONAL,
    24     ownIdentities IdentityList
    25 }
    26 
    27 GroupUpdate ::= SEQUENCE {
    28     ownIdentities IdentityList
    29 }
    30 
    31 /* TODO: narrow request to single key */
    32 UpdateRequest ::= NULL 
    33 
    34 /* for the tags see end of sync.fsm */
    35 
    36 DeviceGroup-Protocol ::= SEQUENCE {
    37     header SEQUENCE {
    38         version     Version,
    39         sequence    INTEGER,  /* always increases */
    40         me          Identity, /* identity of the sender */
    41         state       INTEGER,  /* state the sender is in */
    42         devicegroup BOOLEAN
    43             /* signals if this message is coming from a device group member */
    44     },
    45 
    46     payload CHOICE {
    47         beacon [APPLICATION 2] Beacon,
    48         handshakeRequest [APPLICATION 3] HandshakeRequest,
    49         groupKeys [APPLICATION 4] GroupKeys,
    50         groupUpdate [APPLICATION 5] GroupUpdate,
    51         updateRequest [APPLICATION 6] UpdateRequest
    52     }
    53 }
    54 
    55 END
    56