asn.1/devicegroup.asn1
author Edouard Tisserant <edouard@pep-project.org>
Mon, 13 Mar 2017 15:03:14 +0100
changeset 1648 158e65c83311
parent 1605 54bb3990a70f
permissions -rw-r--r--
merged
vb@1513
     1
/* This file is under GNU General Public License 3.0 */
vb@1513
     2
/* see LICENSE.txt */
vb@1513
     3
vb@633
     4
DEVICEGROUP
vb@908
     5
    { iso(1) org(3) dod(6) internet(1) private(4) enterprise(1) pEp (47878) sync(1) keysync(1) }
vb@633
     6
vb@633
     7
DEFINITIONS AUTOMATIC TAGS EXTENSIBILITY IMPLIED ::=
vb@633
     8
vb@628
     9
BEGIN
vb@628
    10
vb@743
    11
EXPORTS DeviceGroup-Protocol;
vb@1063
    12
IMPORTS Version, Identity, IdentityList FROM PEP;
vb@633
    13
vb@1077
    14
Beacon ::= NULL
vb@1058
    15
edouard@1216
    16
HandshakeRequest ::= SEQUENCE {
edouard@1605
    17
    /* UUID of receiver, group UUID if grouped */
edouard@1585
    18
    partner-id     UTF8String  (SIZE(1..1024)) OPTIONAL,
edouard@1605
    19
    /* Group UUID of sender, if grouped */
edouard@1585
    20
    group-id       UTF8String  (SIZE(1..1024)) OPTIONAL
edouard@1216
    21
}
vb@628
    22
vb@711
    23
GroupKeys ::= SEQUENCE {
edouard@1605
    24
    /* UUID of receiver */
edouard@1585
    25
    partner-id     UTF8String  (SIZE(1..1024)) OPTIONAL,
edouard@1605
    26
    /* Group UUID of sender */
edouard@1586
    27
    group-id       UTF8String  (SIZE(1..1024)) OPTIONAL,
vb@940
    28
    ownIdentities IdentityList
vb@628
    29
}
vb@628
    30
edouard@1281
    31
GroupUpdate ::= SEQUENCE {
edouard@1281
    32
    ownIdentities IdentityList
edouard@1281
    33
}
edouard@1281
    34
edouard@1297
    35
/* TODO: narrow request to single key */
edouard@1297
    36
UpdateRequest ::= NULL 
edouard@1297
    37
vb@711
    38
/* for the tags see end of sync.fsm */
vb@711
    39
vb@1058
    40
DeviceGroup-Protocol ::= SEQUENCE {
vb@1063
    41
    header SEQUENCE {
vb@1063
    42
        version     Version,
vb@1063
    43
        sequence    INTEGER,  /* always increases */
vb@1063
    44
        me          Identity, /* identity of the sender */
vb@1063
    45
        state       INTEGER,  /* state the sender is in */
edouard@1257
    46
        devicegroup BOOLEAN
vb@1063
    47
            /* signals if this message is coming from a device group member */
vb@1063
    48
    },
vb@1063
    49
vb@1058
    50
    payload CHOICE {
vb@1058
    51
        beacon [APPLICATION 2] Beacon,
vb@1058
    52
        handshakeRequest [APPLICATION 3] HandshakeRequest,
edouard@1281
    53
        groupKeys [APPLICATION 4] GroupKeys,
edouard@1297
    54
        groupUpdate [APPLICATION 5] GroupUpdate,
edouard@1297
    55
        updateRequest [APPLICATION 6] UpdateRequest
vb@1058
    56
    }
vb@631
    57
}
vb@631
    58
vb@628
    59
END
vb@628
    60