XEP-0434: Release version 0.6.0

Specify key identifier encoding, improve glossary and update to XEP-0384 version 0.8.0:

* Specify usage of Base64 encoding for key identifiers within trust messages
* Specify usage of Base16 encoding for key identifiers within Trust Message URIs
* Use Base64-encoded key identifiers in examples
* Add 'hash value' as example of key identifier
* Update OMEMO's namespace to 'urn:xmpp:omemo:2'
* Update namespace to 'urn:xmpp:tm:1'
This commit is contained in:
Melvin Keskin 2021-10-04 20:14:24 +02:00
parent 34592782e0
commit cd1adfb56b
No known key found for this signature in database
GPG Key ID: 04EFAD0F7A4D9724
1 changed files with 35 additions and 17 deletions

View File

@ -1,9 +1,9 @@
<?xml version='1.0' encoding='UTF-8'?> <?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE xep SYSTEM 'xep.dtd' [ <!DOCTYPE xep SYSTEM 'xep.dtd' [
<!ENTITY % ents SYSTEM 'xep.ent'> <!ENTITY % ents SYSTEM 'xep.ent'>
<!ENTITY ns "urn:xmpp:tm:0"> <!ENTITY ns "urn:xmpp:tm:1">
<!ENTITY ns-atm "urn:xmpp:atm:1"> <!ENTITY ns-atm "urn:xmpp:atm:1">
<!ENTITY ns-omemo "urn:xmpp:omemo:1"> <!ENTITY ns-omemo "urn:xmpp:omemo:2">
<!ENTITY ns-sce "urn:xmpp:sce:1"> <!ENTITY ns-sce "urn:xmpp:sce:1">
%ents; %ents;
]> ]>
@ -36,6 +36,22 @@
<email>melvo@olomono.de</email> <email>melvo@olomono.de</email>
<jid>melvo@olomono.de</jid> <jid>melvo@olomono.de</jid>
</author> </author>
<revision>
<version>0.6.0</version>
<date>2021-10-04</date>
<initials>melvo</initials>
<remark>
<p>Specify key identifier encoding, improve glossary and update to XEP-0384 version 0.8.0:</p>
<ul>
<li>Specify usage of Base64 encoding for key identifiers within trust messages</li>
<li>Specify usage of Base16 encoding for key identifiers within Trust Message URIs</li>
<li>Use Base64-encoded key identifiers in examples</li>
<li>Add 'hash value' as example of key identifier</li>
<li>Update OMEMO's namespace to 'urn:xmpp:omemo:2'</li>
<li>Update namespace to 'urn:xmpp:tm:1'</li>
</ul>
</remark>
</revision>
<revision> <revision>
<version>0.5.1</version> <version>0.5.1</version>
<date>2021-05-14</date> <date>2021-05-14</date>
@ -155,7 +171,7 @@
<di> <di>
<dt>Key identifier</dt> <dt>Key identifier</dt>
<dd> <dd>
Identifier of a key (e.g., a fingerprint or the key itself) Identifier of a key (e.g., a hash value / fingerprint or the key itself)
</dd> </dd>
</di> </di>
<di> <di>
@ -268,7 +284,7 @@
MUST have a <em>usage</em> attribute specifying the namespace of the protocol that uses the trust message for a specific purpose. MUST have a <em>usage</em> attribute specifying the namespace of the protocol that uses the trust message for a specific purpose.
</li> </li>
<li> <li>
MUST have an <em>encryption</em> attribute specifying the namespace of the encryption protocol for which the keys are used. MUST have an <em>encryption</em> attribute specifying the namespace of the encryption protocol that uses the keys.
</li> </li>
<li> <li>
MUST contain at least one <![CDATA[<key-owner/>]]> direct child element that MUST contain at least one <![CDATA[<key-owner/>]]> direct child element that
@ -278,7 +294,8 @@
</li> </li>
<li> <li>
MUST contain at least one <![CDATA[<trust/>]]> or <![CDATA[<distrust/>]]> direct child element indicating the trust respectively distrust in a key. MUST contain at least one <![CDATA[<trust/>]]> or <![CDATA[<distrust/>]]> direct child element indicating the trust respectively distrust in a key.
Each <![CDATA[<trust/>]]> and <![CDATA[<distrust/>]]> element MUST contain exactly one key identifier. Each <![CDATA[<trust/>]]> and <![CDATA[<distrust/>]]> element MUST contain exactly one Base64-encoded (see &rfc4648;) key identifier.
The kind of identifier that the key's encryption protocol specifies MUST be used.
</li> </li>
</ul> </ul>
</li> </li>
@ -300,13 +317,13 @@
<example caption='Trust Message Element for Alice&apos;s and Bob&apos;s OMEMO Keys used by ATM'><![CDATA[ <example caption='Trust Message Element for Alice&apos;s and Bob&apos;s OMEMO Keys used by ATM'><![CDATA[
<trust-message xmlns=']]>&ns;<![CDATA[' usage=']]>&ns-atm;<![CDATA[' encryption=']]>&ns-omemo;<![CDATA['> <trust-message xmlns=']]>&ns;<![CDATA[' usage=']]>&ns-atm;<![CDATA[' encryption=']]>&ns-omemo;<![CDATA['>
<key-owner jid='alice@example.org'> <key-owner jid='alice@example.org'>
<trust>6850019d7ed0feb6d3823072498ceb4f616c6025586f8f666dc6b9c81ef7e0a4</trust> <trust>aFABnX7Q/rbTgjBySYzrT2FsYCVYb49mbca5yB734KQ=</trust>
<trust>221a4f8e228b72182b006e5ca527d3bddccf8d9e6feaf4ce96e1c451e8648020</trust> <trust>IhpPjiKLchgrAG5cpSfTvdzPjZ5v6vTOluHEUehkgCA=</trust>
</key-owner> </key-owner>
<key-owner jid='bob@example.com'> <key-owner jid='bob@example.com'>
<trust>623548d3835c6d33ef5cb680f7944ef381cf712bf23a0119dabe5c4f252cd02f</trust> <trust>YjVI04NcbTPvXLaA95RO84HPcSvyOgEZ2r5cTyUs0C8=</trust>
<distrust>b423f5088de9a924d51b31581723d850c7cc67d0a4fe6b267c3d301ff56d2413</distrust> <distrust>tCP1CI3pqSTVGzFYFyPYUMfMZ9Ck/msmfD0wH/VtJBM=</distrust>
<distrust>d9f849b6b828309c5f2c8df4f38fd891887da5aaa24a22c50d52f69b4a80817e</distrust> <distrust>2fhJtrgoMJxfLI3084/YkYh9paqiSiLFDVL2m0qAgX4=</distrust>
</key-owner> </key-owner>
</trust-message> </trust-message>
]]></example> ]]></example>
@ -365,13 +382,13 @@
<content> <content>
<trust-message xmlns=']]>&ns;<![CDATA[' usage=']]>&ns-atm;<![CDATA[' encryption=']]>&ns-omemo;<![CDATA['> <trust-message xmlns=']]>&ns;<![CDATA[' usage=']]>&ns-atm;<![CDATA[' encryption=']]>&ns-omemo;<![CDATA['>
<key-owner jid='alice@example.org'> <key-owner jid='alice@example.org'>
<trust>6850019d7ed0feb6d3823072498ceb4f616c6025586f8f666dc6b9c81ef7e0a4</trust> <trust>aFABnX7Q/rbTgjBySYzrT2FsYCVYb49mbca5yB734KQ=</trust>
<trust>221a4f8e228b72182b006e5ca527d3bddccf8d9e6feaf4ce96e1c451e8648020</trust> <trust>IhpPjiKLchgrAG5cpSfTvdzPjZ5v6vTOluHEUehkgCA=</trust>
</key-owner> </key-owner>
<key-owner jid='bob@example.com'> <key-owner jid='bob@example.com'>
<trust>623548d3835c6d33ef5cb680f7944ef381cf712bf23a0119dabe5c4f252cd02f</trust> <trust>YjVI04NcbTPvXLaA95RO84HPcSvyOgEZ2r5cTyUs0C8=</trust>
<distrust>b423f5088de9a924d51b31581723d850c7cc67d0a4fe6b267c3d301ff56d2413</distrust> <distrust>tCP1CI3pqSTVGzFYFyPYUMfMZ9Ck/msmfD0wH/VtJBM=</distrust>
<distrust>d9f849b6b828309c5f2c8df4f38fd891887da5aaa24a22c50d52f69b4a80817e</distrust> <distrust>2fhJtrgoMJxfLI3084/YkYh9paqiSiLFDVL2m0qAgX4=</distrust>
</key-owner> </key-owner>
</trust-message> </trust-message>
</content> </content>
@ -436,6 +453,7 @@
The <em>JID</em> attribute of the <![CDATA[<key-owner/>]]> element MUST be used as the Trust Message URI's path. The <em>JID</em> attribute of the <![CDATA[<key-owner/>]]> element MUST be used as the Trust Message URI's path.
The first key-value pair of the URI's query MUST represent the <em>encryption</em> attribute of the <![CDATA[<trust-message/>]]> element. The first key-value pair of the URI's query MUST represent the <em>encryption</em> attribute of the <![CDATA[<trust-message/>]]> element.
All remaining key-value pairs of the URI's query MUST represent the <![CDATA[<trust/>]]> respectively <![CDATA[<distrust/>]]> elements of the <![CDATA[<key-owner/>]]> element. All remaining key-value pairs of the URI's query MUST represent the <![CDATA[<trust/>]]> respectively <![CDATA[<distrust/>]]> elements of the <![CDATA[<key-owner/>]]> element.
Each key identifier MUST be Base16-encoded (see &rfc4648;).
The key of a key-value pair MUST be the element's respectively attribute's name and the value their content. The key of a key-value pair MUST be the element's respectively attribute's name and the value their content.
</p> </p>
<example caption='Trust Message URI for Bob&apos;s OMEMO keys'><![CDATA[ <example caption='Trust Message URI for Bob&apos;s OMEMO keys'><![CDATA[
@ -477,8 +495,8 @@ xmpp:bob@example.com?trust-message;encryption=]]>&ns-omemo;<![CDATA[;trust=62354
<xs:complexType> <xs:complexType>
<xs:attribute name='jid' type='xs:string' use='required'/> <xs:attribute name='jid' type='xs:string' use='required'/>
<xs:sequence> <xs:sequence>
<xs:element name='trust' type='xs:string' minOccurs='0' maxOccurs='unbounded'/> <xs:element name='trust' type='xs:base64Binary' minOccurs='0' maxOccurs='unbounded'/>
<xs:element name='distrust' type='xs:string' minOccurs='0' maxOccurs='unbounded'/> <xs:element name='distrust' type='xs:base64Binary' minOccurs='0' maxOccurs='unbounded'/>
</xs:sequence> </xs:sequence>
</xs:complexType> </xs:complexType>
</xs:element> </xs:element>