-ai = text ; algorithm identifier
+ai = text .ge 0 ; algorithm identifier
cm-hashed = {
a: [+ ai],
- t: text, ; type of the content
+ t: text .gt 0, ; type of the content
? v: bytes / blob, ; content itself
hash: [+ bytes], ; hash values
}
-ai = text ; algorithm identifier
+ai = text .ge 0 ; algorithm identifier
av = {a: ai, v: bytes}
cm-prv = av
-ai = text ; algorithm identifier
+ai = text .ge 0 ; algorithm identifier
av = {a: ai, v: bytes}
fpr = bytes .size 32
ku = "sig" / "kem" / "app-name" / text
-ai = text ; algorithm identifier
+ai = text .ge 0 ; algorithm identifier
cm-signed = {
load: {
- t: text,
+ t: text .ge 0,
? v: bytes / text / map / list,
},
? sigs: [+ sig],
? pubs: [+ cm-pub],
}
-url = text
+url = text .ge 0
sig = {
tbs: sig-tbs,
sig-tbs = {
sid: fpr, ; signer's public key fingerprint
? when: tai64 / tai64n,
- ? nonce: bytes, ; some optional random bytes
+ ? nonce: bytes .gt 0, ; some optional random bytes
? encrypted-to: [+ fpr], ; recipient's public key fingerprints
* text => any
}