@@ -16,58 +16,74 @@ public sealed interface CoseObject {
16
16
}
17
17
18
18
public sealed interface CoseContent {
19
- public val header : CoseCompositeHeader
19
+ public val headers : CoseHeaders
20
20
public val payload: ByteArray
21
21
}
22
22
23
+ // content.sign().verify()
24
+ // content.encrypt().decrypt()
25
+ // content.computeMac().verify()
26
+
27
+ // sign: content+header + [signature headers]
28
+ // sign0: content+(header+signature_header)
29
+ // encrypt: content+header + [recipient_headers]
30
+
31
+ // coseObject(content, header, listOf(coseRecipient(header, ciphertext, recipients)))
32
+
33
+
23
34
public sealed interface CoseSign : CoseObject {
24
35
// public val header: CoseCompositeHeader
25
36
// public val payload: ByteArray
26
37
public val signatures: List <CoseSignature >
27
38
}
28
39
29
40
public sealed interface CoseSignature {
30
- public val header : CoseCompositeHeader
41
+ public val headers : CoseHeaders
31
42
public val signature: ByteArray
32
43
}
33
44
34
45
public sealed interface CoseSign1 : CoseObject {
35
- public val header : CoseCompositeHeader
46
+ public val headers : CoseHeaders
36
47
37
48
// public val payload: ByteArray
38
49
public val signature: ByteArray
39
50
}
40
51
41
52
public sealed interface CoseEncrypt : CoseObject {
42
- public val header : CoseCompositeHeader
53
+ public val headers : CoseHeaders
43
54
public val ciphertext: ByteArray
44
55
public val recipients: List <CoseRecipient >
45
56
}
46
57
47
58
public sealed interface CoseRecipient {
48
- public val header : CoseCompositeHeader
59
+ public val headers : CoseHeaders
49
60
public val ciphertext: ByteArray
50
61
public val recipients: List <CoseRecipient >
51
62
}
52
63
53
64
public sealed interface CoseEncrypt0 : CoseObject {
54
- public val header : CoseCompositeHeader
65
+ public val headers : CoseHeaders
55
66
public val ciphertext: ByteArray
56
67
}
57
68
58
69
public sealed interface CoseMac : CoseObject {
59
- public val header : CoseCompositeHeader
70
+ public val headers : CoseHeaders
60
71
public val payload: ByteArray
61
72
public val tag: ByteArray
62
73
public val recipients: List <CoseRecipient >
63
74
}
64
75
65
76
public sealed interface CoseMac0 : CoseObject {
66
- public val header : CoseCompositeHeader
77
+ public val headers : CoseHeaders
67
78
public val payload: ByteArray
68
79
public val tag: ByteArray
69
80
}
70
81
82
+ public sealed interface CoseContentHeader
83
+ public sealed interface CoseMacHeader
84
+ public sealed interface CoseSignHeader
85
+ public sealed interface CoseEncryptHeader
86
+
71
87
public sealed interface CoseHeader {
72
88
public val algorithm: Algorithm
73
89
public val contentType: ContentType
@@ -79,7 +95,9 @@ public sealed interface CoseHeader {
79
95
public class ContentType (public val value : String )
80
96
}
81
97
82
- public sealed interface CoseCompositeHeader {
98
+ public sealed interface CoseHeaders {
83
99
public val protected: CoseHeader
84
100
public val unprotected: CoseHeader
85
- }
101
+ }
102
+
103
+ public sealed interface CoseKey
0 commit comments