@@ -70,12 +70,13 @@ barcode and one with the vendor's product number.
7070The TEI consists of three core parts
7171
7272``` text
73- urn:tei:<type>:<domain-name>:<unique-identifier>
73+ urn:tei:<type>:<domain-name>:<domain-port>:< unique-identifier>
7474````
7575
7676- The **`type`** which defines the syntax of the unique identifier part
7777- The **`domain-name`** part resolves into a web server, which may not be the API host.
7878 - The uniqueness of the name is the domain name part that has to be registred at creation of the TEI.
79+ - The **`domain-port`** is the port number of the web server on which ./well-known/tea is available.
7980- The **`unique-identifier`** has to be unique within the `domain-name`.
8081 Recommendation is to use a UUID but it can be an existing article code too
8182
@@ -94,13 +95,13 @@ Where the `unique-identifier` is a PURL in it's canonical string form.
9495Syntax:
9596
9697```text
97- urn:tei:purl:<domain-name>:<purl>
98+ urn:tei:purl:<domain-name>:<domain-port>:< purl>
9899````
99100
100101Example:
101102
102103```text
103- urn:tei:purl:cyclonedx.org:pkg:pypi/[email protected] ?extension=whl&qualifier=py3-none-any 104+ urn:tei:purl:cyclonedx.org:443: pkg:pypi/[email protected] ?extension=whl&qualifier=py3-none-any 104105```
105106
106107#### SWID
@@ -110,7 +111,7 @@ Where the `unique-identifier` is a SWID.
110111Syntax:
111112
112113``` text
113- urn:tei:swid:<domain-name>:<swid>
114+ urn:tei:swid:<domain-name>:<domain-port>:< swid>
114115````
115116
116117Note that there is a TEI SWID type as well as a PURL SWID type.
@@ -124,12 +125,12 @@ Where the `unique-identifier` is a Hash. Supports the following hash types:
124125- SHA512
125126
126127```text
127- urn:tei:hash:<domain-name>:<hashtype>:<hash>
128+ urn:tei:hash:<domain-name>:<domain-port>:< hashtype>:<hash>
128129````
129130
130131Example:
131132```text
132- urn:tei:hash:cyclonedx.org:SHA256:fd44efd601f651c8865acf0dfeacb0df19a2b50ec69ead0262096fd2f67197b9
133+ urn:tei:hash:cyclonedx.org:443: SHA256:fd44efd601f651c8865acf0dfeacb0df19a2b50ec69ead0262096fd2f67197b9
133134```
134135
135136The origin of the hash is up to the vendor to define.
@@ -141,12 +142,12 @@ Where the `unique-identifier` is a UUID.
141142Syntax:
142143
143144``` text
144- urn:tei:uuid:<domain-name>:<uuid>
145+ urn:tei:uuid:<domain-name>:<domain-port>:< uuid>
145146````
146147
147148Example:
148149```text
149- urn:tei:uuid:cyclonedx.org:d4d9f54a-abcf-11ee-ac79-1a52914d44b1
150+ urn:tei:uuid:cyclonedx.org:443: d4d9f54a-abcf-11ee-ac79-1a52914d44b1
150151```
151152
152153
@@ -169,8 +170,8 @@ product transparency exchange information.
169170At the URL a well-known name space is used to find out where the API endpoint is hosted.
170171This is solved by using the ".well-known" name space as defined by the IETF.
171172
172- - ` urn:tei:uuid:products.example.com:d4d9f54a-abcf-11ee-ac79-1a52914d44b1 `
173- - Syntax: ` urn:tei:uuid:<name based on domain>:<unique identifier> `
173+ - ` urn:tei:uuid:products.example.com:443: d4d9f54a-abcf-11ee-ac79-1a52914d44b1 `
174+ - Syntax: ` urn:tei:uuid:<name based on domain>:<domain-port>:< unique identifier> `
174175
175176The name in the DNS name part points to a set of DNS records.
176177
@@ -231,10 +232,10 @@ plus "/discovery?tei=", plus the TEI that is url-encoded according to [RFC3986]
231232and [ RFC3986] ).
232233
233234Examples:
234- 1 . For TEI ` urn:tei:uuid:products.example.com:d4d9f54a-abcf-11ee-ac79-1a52914d44b `
235- ` https://api.teaexample.com/v0.2.0-beta.2/discovery?tei=urn%3Atei%3Auuid%3Aproducts.example.com%3Ad4d9f54a-abcf-11ee-ac79-1a52914d44b `
236- 2 . For TEI
` urn:tei:purl:products.example.com:pkg:deb/debian/[email protected] ?arch=i386&distro=jessie ` 237- ` https://api2.teaexample.com/mytea/v1.0.0/discovery?tei=urn%3Atei%3Apurl%3Aproducts.example.com%3Apkg%3Adeb%2Fdebian%2Fcurl%407.50.3-1%3Farch%3Di386%26distro%3Djessie `
235+ 1 . For TEI ` urn:tei:uuid:products.example.com:443: d4d9f54a-abcf-11ee-ac79-1a52914d44b `
236+ ` https://api.teaexample.com/v0.2.0-beta.2/discovery?tei=urn%3Atei%3Auuid%3Aproducts.example.com%3A443% 3Ad4d9f54a-abcf-11ee-ac79-1a52914d44b `
237+ 2 . For TEI
` urn:tei:purl:products.example.com:443: pkg:deb/debian/[email protected] ?arch=i386&distro=jessie ` 238+ ` https://api2.teaexample.com/mytea/v1.0.0/discovery?tei=urn%3Atei%3Apurl%3Aproducts.example.com%3A443% 3Apkg%3Adeb%2Fdebian%2Fcurl%407.50.3-1%3Farch%3Di386%26distro%3Djessie `
238239
239240The discovery endpoint is a part of the TEA OpenAPI specification.
240241
@@ -264,7 +265,7 @@ Servers MUST NOT locate the actual TEA service endpoint at the
264265
265266The .well-known endpoint must only be available via HTTPS. Using unencrypted HTTP is not valid.
266267
267- - TEI: ` urn:tei:uuid:products.example.com:d4d9f54a-abcf-11ee-ac79-1a52914d44b1 `
268+ - TEI: ` urn:tei:uuid:products.example.com:443: d4d9f54a-abcf-11ee-ac79-1a52914d44b1 `
268269- URL: ` https://products.example.com/.well-known/tea `
269270
270271** NOTE:** The ` /.well-known/tea ` names space needs to be registred.
0 commit comments