asn.1/devicegroup.asn1
author Edouard Tisserant <edouard@pep-project.org>
Mon, 13 Feb 2017 21:26:55 +0100
branchGroupMerge
changeset 1585 655cfb838ac6
parent 1513 e7f7e42385b5
child 1586 599deda50386
permissions -rw-r--r--
KeySync: changed handshakeRequest and groupKeys messages content (TODO:increment protocol number when finished). Now use string instead of Identity to just store uuid. Added group uuid in handshakeRequest
     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     ownIdentities IdentityList
    24 }
    25 
    26 GroupUpdate ::= SEQUENCE {
    27     ownIdentities IdentityList
    28 }
    29 
    30 /* TODO: narrow request to single key */
    31 UpdateRequest ::= NULL 
    32 
    33 /* for the tags see end of sync.fsm */
    34 
    35 DeviceGroup-Protocol ::= SEQUENCE {
    36     header SEQUENCE {
    37         version     Version,
    38         sequence    INTEGER,  /* always increases */
    39         me          Identity, /* identity of the sender */
    40         state       INTEGER,  /* state the sender is in */
    41         devicegroup BOOLEAN
    42             /* signals if this message is coming from a device group member */
    43     },
    44 
    45     payload CHOICE {
    46         beacon [APPLICATION 2] Beacon,
    47         handshakeRequest [APPLICATION 3] HandshakeRequest,
    48         groupKeys [APPLICATION 4] GroupKeys,
    49         groupUpdate [APPLICATION 5] GroupUpdate,
    50         updateRequest [APPLICATION 6] UpdateRequest
    51     }
    52 }
    53 
    54 END
    55