Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
758 | daniel-mar | 1 | |
2 | |||
3 | |||
4 | |||
5 | INTERNET-DRAFT D. Marschall |
||
6 | Intended Status: Informational ViaThinkSoft |
||
7 | Expires: September 16, 2022 March 15, 2022 |
||
8 | |||
9 | |||
10 | Retrieving information about Object Identifiers |
||
11 | using a text-based protocol |
||
12 | draft-viathinksoft-oidip-02 |
||
13 | |||
14 | |||
15 | Abstract |
||
16 | |||
17 | This document defines a method for retrieving information about |
||
18 | Object Identifiers (OIDs) and their associated Registration |
||
19 | Authorities (RAs) using a text-based protocol, in a way that is both |
||
20 | human-readable and machine-readable. |
||
21 | |||
22 | |||
23 | |||
24 | |||
25 | |||
26 | |||
27 | Status of This Memo |
||
28 | |||
29 | This Internet-Draft is submitted in full conformance with the |
||
30 | provisions of BCP 78 and BCP 79. |
||
31 | |||
32 | Internet-Drafts are working documents of the Internet Engineering |
||
33 | Task Force (IETF). Note that other groups may also distribute |
||
34 | working documents as Internet-Drafts. The list of current Internet- |
||
35 | Drafts is at https://datatracker.ietf.org/drafts/current/. |
||
36 | |||
37 | Internet-Drafts are draft documents valid for a maximum of six months |
||
38 | and may be updated, replaced, or obsoleted by other documents at any |
||
39 | time. It is inappropriate to use Internet-Drafts as reference |
||
40 | material or to cite them other than as "work in progress." |
||
41 | |||
42 | This Internet-Draft will expire on September 16, 2022. |
||
43 | |||
44 | Copyright Notice |
||
45 | |||
46 | Copyright (c) 2022 IETF Trust and the persons identified as the |
||
47 | document authors. All rights reserved. |
||
48 | |||
49 | This document is subject to BCP 78 and the IETF Trust's Legal |
||
50 | Provisions Relating to IETF Documents |
||
51 | (https://trustee.ietf.org/license-info) in effect on the date of |
||
52 | publication of this document. Please review these documents |
||
53 | |||
54 | |||
55 | |||
56 | Marschall Expires September 16, 2022 [Page 1] |
||
57 | |||
58 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
59 | |||
60 | |||
61 | carefully, as they describe your rights and restrictions with respect |
||
62 | to this document. Code Components extracted from this document must |
||
63 | include Simplified BSD License text as described in Section 4.e of |
||
64 | the Trust Legal Provisions and are provided without warranty as |
||
65 | described in the Simplified BSD License. |
||
66 | |||
67 | |||
68 | Table of Contents |
||
69 | |||
70 | 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 |
||
71 | 1.1 Terminology . . . . . . . . . . . . . . . . . . . . . . . . 4 |
||
72 | 2 Request . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 |
||
73 | 2.1 Authentication Tokens . . . . . . . . . . . . . . . . . . . 5 |
||
74 | 2.2 Server Commands . . . . . . . . . . . . . . . . . . . . . . 5 |
||
75 | 2.2.1 "Format" command . . . . . . . . . . . . . . . . . . . 5 |
||
76 | 2.3 Request ABNF Notation . . . . . . . . . . . . . . . . . . . 6 |
||
77 | 3 Response . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 |
||
78 | 3.1 Format and Encoding . . . . . . . . . . . . . . . . . . . . 7 |
||
79 | 3.2 Structure . . . . . . . . . . . . . . . . . . . . . . . . . 7 |
||
80 | 3.2.1 Query-Section (Information about Query and Result) . . 8 |
||
81 | 3.2.2 Object-Section (Information about the OID) . . . . . . 9 |
||
82 | 3.2.3 RA-Section (Information about the Current RA) . . . . . 13 |
||
83 | 3.2.4 Sections for Previous Registration Authorities . . . . 14 |
||
84 | 3.3 Digital Signature . . . . . . . . . . . . . . . . . . . . . 15 |
||
85 | 3.4 Date/Time Format . . . . . . . . . . . . . . . . . . . . . 15 |
||
86 | 3.4.1 Date/Time Format ABNF Notation . . . . . . . . . . . . 16 |
||
87 | 3.4.2 Date/Time Format Examples . . . . . . . . . . . . . . . 16 |
||
88 | 4 Referral . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 |
||
89 | 5 Full Example . . . . . . . . . . . . . . . . . . . . . . . . . 18 |
||
90 | 5.1 Request . . . . . . . . . . . . . . . . . . . . . . . . . . 18 |
||
91 | 5.2 Response . . . . . . . . . . . . . . . . . . . . . . . . . 18 |
||
92 | 6 Alternative Namespaces . . . . . . . . . . . . . . . . . . . . 19 |
||
93 | 6.1 Example: UUID Namespace . . . . . . . . . . . . . . . . . . 20 |
||
94 | 7 Internationalization Considerations . . . . . . . . . . . . . . 20 |
||
95 | 8 Security Considerations . . . . . . . . . . . . . . . . . . . . 21 |
||
96 | 9 IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 22 |
||
97 | 9.1 Port Numbers . . . . . . . . . . . . . . . . . . . . . . . 22 |
||
98 | 10 References . . . . . . . . . . . . . . . . . . . . . . . . . . 22 |
||
99 | 10.1 Normative References . . . . . . . . . . . . . . . . . . . 22 |
||
100 | 10.2 Informative References . . . . . . . . . . . . . . . . . . 23 |
||
101 | Appendix A.1: JSON Schema . . . . . . . . . . . . . . . . . . . . 25 |
||
102 | Appendix A.2: Example of output . . . . . . . . . . . . . . . . . 31 |
||
103 | Appendix B.1: XML Schema . . . . . . . . . . . . . . . . . . . . . 33 |
||
104 | Appendix B.2: Example of output . . . . . . . . . . . . . . . . . 36 |
||
105 | Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . 37 |
||
106 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 37 |
||
107 | |||
108 | |||
109 | |||
110 | |||
111 | |||
112 | Marschall Expires September 16, 2022 [Page 2] |
||
113 | |||
114 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
115 | |||
116 | |||
117 | 1 Introduction |
||
118 | |||
119 | An Object Identifier (OID) is an extensively used identification |
||
120 | mechanism jointly developed by ITU-T and ISO/IEC for naming any type |
||
121 | of object with a globally unambiguous name. OIDs provide a |
||
122 | persistent identification of objects based on a hierarchical |
||
123 | structure of Registration Authorities (RA), where each parent has an |
||
124 | Object Identifier and allocates Object Identifiers to child nodes. |
||
125 | More information about Object Identifiers can be found in |
||
126 | Recommendation ITU-T X.660 (2011) | ISO/IEC 9834-1:2012 [X660]. |
||
127 | |||
128 | There are a few methods of retrieving information about an OID, like: |
||
129 | |||
130 | (A) Searching through web repositories like <http://www.oid-info.com> |
||
131 | or <http://www.alvestrand.no/objectid/>. This has the disadvantage |
||
132 | that the information is usually not machine-readable without |
||
133 | functionalities like an API. |
||
134 | |||
135 | (B) Retrieving information using the Object Identifier Resolution |
||
136 | System (ORS) as defined in Recommendation ITU-T X.672 (2010) | |
||
137 | ISO/IEC 29168-1:2011 [X672]. This has the disadvantage that |
||
138 | Registration Authorities need to include specific DNS Resource |
||
139 | Records to their domains, and additionally, all RAs of the superior |
||
140 | OIDs must implement the ORS. |
||
141 | |||
142 | This document describes an additional method for retrieving |
||
143 | information about OIDs, which is both human-readable and machine- |
||
144 | readable. |
||
145 | |||
146 | Three of many possible use-case scenarios are: |
||
147 | |||
148 | (1) Many web-browsers and Operating Systems can handle ITU-T X.509 |
||
149 | certificates [X509] and usually contain a viewer application that |
||
150 | shows the contents of these certificates. Attributes that are |
||
151 | unknown by the application are either only displayed by their OID, or |
||
152 | hidden to avoid confusion to the user. With OID-IP, the application |
||
153 | could query the name of these unknown OIDs or even retrieve |
||
154 | instructions on how the data described by this OID can be parsed and |
||
155 | displayed. |
||
156 | |||
157 | (2) Applications that handle SNMP (Simple Network Management |
||
158 | Protocol) [RFC1157] might need information about additional MIB files |
||
159 | or their OIDs. OID-IP could aid these applications in gathering the |
||
160 | required information. |
||
161 | |||
162 | (3) In directory services like LDAP (Lightweight Directory Access |
||
163 | Protocol) [RFC4511], applications could query the name of attributes |
||
164 | that are described by an OID the application doesn't know. |
||
165 | |||
166 | |||
167 | |||
168 | Marschall Expires September 16, 2022 [Page 3] |
||
169 | |||
170 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
171 | |||
172 | |||
173 | 1.1 Terminology |
||
174 | |||
175 | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", |
||
176 | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this |
||
177 | document are to be interpreted as described in RFC 2119 [RFC2119]. |
||
178 | |||
179 | In this document, "RA" is an abbreviation for "Registration |
||
180 | Authority", "OID" is an abbreviation for "Object Identifier" and |
||
181 | "OID-IP" is an abbreviation for "Object Identifier Information |
||
182 | Protocol". |
||
183 | |||
184 | 2 Request |
||
185 | |||
186 | OID-IP is a text-based protocol. |
||
187 | |||
188 | An OID-IP server listens on TCP port XXX for requests from OID-IP |
||
189 | clients. The OID-IP client makes a text request to the OID-IP |
||
190 | server, then the OID-IP server replies with text content. All |
||
191 | requests are terminated with ASCII CR followed by ASCII LF. The |
||
192 | response contains multiple lines of text, separated by ASCII CR |
||
193 | followed by ASCII LF. The OID-IP server closes its connection as |
||
194 | soon as the output is finished. The closed TCP connection is the |
||
195 | indication to the client that the response has been received. |
||
196 | |||
197 | Alternatively to TCP port XXX, an OID-IP server can listen to the |
||
198 | WHOIS TCP port 43. Existing WHOIS servers can add the |
||
199 | functionalities described in this document in addition to their usual |
||
200 | operation, i.e. they may accept queries beginning with "oid:" as well |
||
201 | as other types of queries. |
||
202 | |||
203 | During the request, the client sends a query beginning with "oid:", |
||
204 | followed by an OID in dot-notation, as defined in RFC 3061, section 2 |
||
205 | [RFC3061], but with the following differences: |
||
206 | |||
207 | (1) The OID MAY contain a leading dot. |
||
208 | |||
209 | (2) To query the root of the OID tree, the OID MUST be either missing |
||
210 | or consisting only of a single dot. |
||
211 | |||
212 | Examples of valid queries are: |
||
213 | |||
214 | oid: |
||
215 | oid:. |
||
216 | oid:2.999 |
||
217 | oid:.2.999 |
||
218 | |||
219 | All OIDs MUST be interpreted as absolute OIDs. Relative OIDs (e.g. |
||
220 | relative to the OID of the Registration Authority operating the OID- |
||
221 | |||
222 | |||
223 | |||
224 | Marschall Expires September 16, 2022 [Page 4] |
||
225 | |||
226 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
227 | |||
228 | |||
229 | IP service) are not allowed. |
||
230 | |||
231 | The namespace identifier (i.e. "oid") MUST be written in lower-case. |
||
232 | |||
233 | 2.1 Authentication Tokens |
||
234 | |||
235 | Some organizations might not want to present their OID information |
||
236 | (or part of it) to the public, e.g. for reasons like privacy or |
||
237 | confidentiality. Therefore, at the end of the query, the client can |
||
238 | append case-sensitive, non-empty alphanumeric authentication tokens |
||
239 | to control the display of confidential information. |
||
240 | |||
241 | Each authentication token MUST be prepended by a dollar sign ("$"). |
||
242 | |||
243 | Examples of valid queries are: |
||
244 | |||
245 | oid:2.999$firstToken |
||
246 | oid:2.999$firstToken$secondToken |
||
247 | |||
248 | Please note that authentication tokens are only weak protection. For |
||
249 | more information, see section 8 "Security Considerations". |
||
250 | |||
251 | 2.2 Server Commands |
||
252 | |||
253 | The client can send additional information to the server using |
||
254 | "server commands". These are similar to Authentication Tokens, with |
||
255 | the difference that they contain an equal sign ("=") which divides |
||
256 | the "name" from the "value". Names and values are case-sensitive |
||
257 | alphanumeric strings. A request can contain multiple server commands |
||
258 | which are each prepended by a dollar sign ("$"). The usage of server |
||
259 | commands is individual for each server and implementation. |
||
260 | |||
261 | The following request is an example of a valid query where the client |
||
262 | sends a "format" command with the value "text" and an "antispam" |
||
263 | command with the value "1": |
||
264 | |||
265 | oid:2.999$format=text$antispam=1 |
||
266 | |||
267 | 2.2.1 "Format" command |
||
268 | |||
269 | The "format" command defines the desired output format of the server |
||
270 | response. |
||
271 | |||
272 | Currently, there are four valid formats: |
||
273 | |||
274 | (1) "text": Text representation as described in section 3 in this |
||
275 | document. (MANDATORY) |
||
276 | |||
277 | |||
278 | |||
279 | |||
280 | Marschall Expires September 16, 2022 [Page 5] |
||
281 | |||
282 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
283 | |||
284 | |||
285 | (2) "json": The JavaScript Object Notation (JSON, [RFC8259]) |
||
286 | representation as defined in Appendix A in this document. (OPTIONAL) |
||
287 | |||
288 | (3) "xml": Extensible Markup Language (XML, [XML]) representation as |
||
289 | defined in Appendix B in this document. (OPTIONAL) |
||
290 | |||
291 | (4) "html": Hypertext Markup Language (HTML) representation, not |
||
292 | necessarily machine-readable. (OPTIONAL) |
||
293 | |||
294 | The default format is "text", which is assumed if the "format" |
||
295 | command is omitted. |
||
296 | |||
297 | 2.3 Request ABNF Notation |
||
298 | |||
299 | To define the query string, the following Augmented BNF definitions |
||
300 | will be used. They are based on the ABNF styles of RFC 5234 |
||
301 | [RFC5234]. |
||
302 | |||
303 | query = namespace ":" optional-oid *( "$" authtoken ) |
||
304 | *( "$" cmdname "=" cmdval ) |
||
305 | |||
306 | namespace = %x6F %x69 %x64 ; "oid" |
||
307 | |||
308 | optional-oid = [ "." ] [ oid ] |
||
309 | |||
310 | oid = unsigned-number *( "." unsigned-number ) |
||
311 | |||
312 | authtoken = 1*( char-or-digit ) |
||
313 | |||
314 | cmdname = 1*( char-or-digit ) |
||
315 | |||
316 | cmdval = 1*( char-or-digit ) |
||
317 | |||
318 | digit = %x30-39 ; 0-9 |
||
319 | |||
320 | nonzero-digit = %x31-39 ; 1-9 |
||
321 | |||
322 | uppercase-char = %x41-5A ; A-Z |
||
323 | |||
324 | lowercase-char = %x61-7A ; a-z |
||
325 | |||
326 | char-or-digit = uppercase-char / lowercase-char / digit |
||
327 | |||
328 | unsigned-number = "0" / nonzero-digit *( digit ) |
||
329 | |||
330 | |||
331 | |||
332 | |||
333 | |||
334 | |||
335 | |||
336 | Marschall Expires September 16, 2022 [Page 6] |
||
337 | |||
338 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
339 | |||
340 | |||
341 | 3 Response |
||
342 | |||
343 | 3.1 Format and Encoding |
||
344 | |||
345 | (1) The response MUST be UTF-8 encoded (as defined in RFC 3629 |
||
346 | [RFC3629]), without Byte-Order-Mark (BOM). |
||
347 | |||
348 | (2) The response contains multiple lines with field names and values, |
||
349 | which MUST be separated by a double colon (":"). Whitespace |
||
350 | characters after the double colon are allowed. |
||
351 | |||
352 | (3) If possible, each line SHOULD be limited to 80 characters, |
||
353 | including the field name, double colon, value, and whitespaces. |
||
354 | |||
355 | (4) Field names and values MUST be treated case-sensitive. |
||
356 | |||
357 | (5) If a value needs to be split into multiple lines, e.g. if the |
||
358 | line would exceed the length limit, the same field name including |
||
359 | double colon MUST be repeated at the beginning of the next line. |
||
360 | |||
361 | (6) If an attribute has multiple values (e.g. multiple Unicode |
||
362 | labels, alternative email addresses, etc.), each value MUST be |
||
363 | written in a new line with the same field name. |
||
364 | |||
365 | (7) Lines with the same field name SHALL be kept together. |
||
366 | |||
367 | (8) Comment lines MUST start with a percent sign ("%") at the |
||
368 | beginning of a line, without prepending whitespaces. They MUST NOT |
||
369 | be evaluated by machines (except for signature validation, as |
||
370 | mentioned in section 3.3 "Digital Signature"). |
||
371 | |||
372 | 3.2 Structure |
||
373 | |||
374 | A response consists of sections, which SHOULD be separated by at |
||
375 | least one empty line and/or comment line. |
||
376 | |||
377 | This document specifies the following sections (which SHALL stay in |
||
378 | this order): |
||
379 | |||
380 | (1) Query-Section which contains the request and the result. This |
||
381 | section MUST start with the field "query". |
||
382 | |||
383 | (2) Object-Section which contains information about the OID. This |
||
384 | section MUST start with the field "object". |
||
385 | |||
386 | (3) RA-Section which contains information about the current |
||
387 | Registration Authority. This section MUST start with the field "ra". |
||
388 | |||
389 | |||
390 | |||
391 | |||
392 | Marschall Expires September 16, 2022 [Page 7] |
||
393 | |||
394 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
395 | |||
396 | |||
397 | (4) Optional RA-Sections containing information about RAs that were |
||
398 | previously in charge of managing the OID. |
||
399 | |||
400 | The OID-IP service MAY define additional sections after any of these |
||
401 | sections, but the Query-Section MUST be the first section in the |
||
402 | response. |
||
403 | |||
404 | 3.2.1 Query-Section (Information about Query and Result) |
||
405 | |||
406 | This section MUST always be present and MUST start with the field |
||
407 | "query". It MUST be the first section in the response. |
||
408 | |||
409 | Possible fields are: |
||
410 | |||
411 | (1) "query" MUST be present and contain the request of the client |
||
412 | (beginning with the namespace identifier and double colon, i.e. |
||
413 | "oid:"). Canonization or sanitation (like removing a leading dot) |
||
414 | SHOULD NOT be applied at this step. Authentication tokens SHOULD be |
||
415 | omitted, though. |
||
416 | |||
417 | (2) "result" MUST be present and SHALL be one of the following |
||
418 | values: |
||
419 | |||
420 | "Found" means that the OID-IP service can verify that the |
||
421 | requested OID exists. The following sections will contain |
||
422 | information about this OID. |
||
423 | |||
424 | "Not found; superior object found" means that the OID-IP service |
||
425 | cannot verify that the requested OID exists, or it denies that |
||
426 | the OID exists (e.g. because it is confidential). However, the |
||
427 | OID-IP service knows a superior OID which does exist. The |
||
428 | following sections will contain information about that superior |
||
429 | OID instead. |
||
430 | |||
431 | "Not found" means that the OID-IP service cannot verify that the |
||
432 | requested OID exists, or it denies that the OID exists (e.g. |
||
433 | because it is confidential). Additionally, the OID-IP service |
||
434 | does not have information about any superior OID, or their |
||
435 | existence is also denied. |
||
436 | |||
437 | "Service error" means that an internal error occurred, or that |
||
438 | the system is in maintenance mode. The client should try again |
||
439 | later. |
||
440 | |||
441 | (3) "distance" SHOULD be present if it is applicable in the requested |
||
442 | namespace (it is always applicable for OIDs) and if the result is |
||
443 | "Not found; superior object found". A distance of 1 means that the |
||
444 | direct parent was found. A distance of 2 means that the grand-parent |
||
445 | |||
446 | |||
447 | |||
448 | Marschall Expires September 16, 2022 [Page 8] |
||
449 | |||
450 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
451 | |||
452 | |||
453 | was found, etc. |
||
454 | |||
455 | (4) "message" SHOULD be present if the result is "Service error". It |
||
456 | contains a message explaining why the service is not available (e.g. |
||
457 | displaying an error message). It MUST NOT be present if the result |
||
458 | has a different value. |
||
459 | |||
460 | The OID-IP service SHOULD NOT add additional fields to this section. |
||
461 | |||
462 | 3.2.2 Object-Section (Information about the OID) |
||
463 | |||
464 | This section MUST be present if the result is "Found" or "Not found; |
||
465 | superior object found". It MUST start with the field "object". It |
||
466 | MUST NOT be present if the result is "Not found" or "Service error". |
||
467 | |||
468 | Possible fields are: |
||
469 | |||
470 | (1) "object" contains the OID in dot-notation, prepended by the |
||
471 | namespace identifier and double colon ("oid:"). This field MUST be |
||
472 | present. |
||
473 | |||
474 | (2) "status" MUST be present and SHALL be one of the following |
||
475 | values: |
||
476 | |||
477 | "Information available" means that information about the OID is |
||
478 | fully available. |
||
479 | |||
480 | "Information partially available" means that part of the |
||
481 | information about the OID is not available. Possible reasons |
||
482 | could be that part of the information is redacted due to |
||
483 | confidentiality, or the OID-IP service only knows basic |
||
484 | information, while the full information can be found somewhere |
||
485 | else (e.g. at a referred OID-IP service). The field "attribute" |
||
486 | MAY be used with the value "confidential". |
||
487 | |||
488 | "Information unavailable" means that the information about the |
||
489 | OID is missing, redacted due to confidentiality, or otherwise |
||
490 | unavailable. The field "attribute" MAY be used with the value |
||
491 | "confidential". |
||
492 | |||
493 | (3) "name" (OPTIONAL) contains the name of the OID. It SHOULD be as |
||
494 | short as possible. |
||
495 | |||
496 | (4) "description" (OPTIONAL) contains a short description of the OID. |
||
497 | The description SHOULD only be a single sentence. |
||
498 | |||
499 | (5) "information" (OPTIONAL) contains additional information, e.g. |
||
500 | Management Information Base (MIB) definitions. |
||
501 | |||
502 | |||
503 | |||
504 | Marschall Expires September 16, 2022 [Page 9] |
||
505 | |||
506 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
507 | |||
508 | |||
509 | (6) "url" (OPTIONAL, multiple values allowed) contains a URL (as |
||
510 | defined in RFC 3986 [RFC3986]) leading to more information about the |
||
511 | OID. |
||
512 | |||
513 | (7) "asn1-notation" (OPTIONAL, multiple values allowed) contains one |
||
514 | or more possible notations in the ASN.1 syntax, as defined in |
||
515 | Recommendation ITU-T X.680 (2015) | ISO/IEC 8824-1:2015, clause 32.3 |
||
516 | [X680], e.g. {joint-iso-itu-t(2) example(999)}. |
||
517 | |||
518 | Note: A line-break, to break up lines that are too long, as |
||
519 | defined in section 3.1 ("Format and Encoding") SHOULD be used. |
||
520 | This is no problem because multiple ASN.1 notations can be |
||
521 | distinguished by their opening curly bracket and their closing |
||
522 | curly bracket. |
||
523 | |||
524 | (8) "iri-notation" (OPTIONAL, multiple values allowed) contains one |
||
525 | or more possible notations in the OID-IRI syntax, as defined in |
||
526 | Recommendation ITU-T X.680 (2015) | ISO/IEC 8824-1:2015, clause 34.3 |
||
527 | [X680] (but without quotation marks), e.g. /Joint-ISO-ITU-T/Example. |
||
528 | |||
529 | Note: A line-break, to break up lines which are too long, as |
||
530 | defined in section 3.1 ("Format and Encoding") SHALL NOT be used, |
||
531 | otherwise, it would be ambiguous if the line-break was used to |
||
532 | shorten the line, or if the line-break indicates a new value in |
||
533 | case multiple OID-IRI notations are supplied. |
||
534 | |||
535 | (9) "identifier" (OPTIONAL, multiple values allowed) contains an |
||
536 | alphanumeric identifier ("NameForm") as defined in Recommendation |
||
537 | ITU-T X.680 (2015) | ISO/IEC 8824-1:2015, clause 12.3 [X680]. |
||
538 | |||
539 | (10) "standardized-id" (OPTIONAL, multiple values allowed) contains |
||
540 | an alphanumeric identifier that has a standardized "NameForm", i.e. |
||
541 | in ASN.1 notation, it can be written without its associated number. |
||
542 | See more information in Recommendation ITU-T X.680 (2015) | ISO/IEC |
||
543 | 8824-1:2015, clause 32.7 [X680]. |
||
544 | |||
545 | (11) "unicode-label" (OPTIONAL, multiple values allowed) contains a |
||
546 | Non-integer Unicode label, as defined in Recommendation ITU-T X.680 |
||
547 | (2015) | ISO/IEC 8824-1:2015, clause 12.27 [X680]. |
||
548 | |||
549 | (12) "long-arc" (OPTIONAL, multiple values allowed) contains a Non- |
||
550 | integer Unicode label that can be used as the first identifier in an |
||
551 | OID Internationalized Resource Identifier (OID-IRI), shortening it. |
||
552 | More information can be found in Recommendation ITU-T X.660 (2011) | |
||
553 | ISO/IEC 9834-1:2012, clause 3.5.8 [X660]. |
||
554 | |||
555 | (13) "oidip-service" (OPTIONAL) contains an IP address or hostname of |
||
556 | a system that offers an OID-IP service that can supply information |
||
557 | |||
558 | |||
559 | |||
560 | Marschall Expires September 16, 2022 [Page 10] |
||
561 | |||
562 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
563 | |||
564 | |||
565 | about the OID and/or its subordinate OIDs, followed by a double-colon |
||
566 | (:) and a port number. If the result is "Found" (i.e. the OID is |
||
567 | existing in the local database), then the information "oidip-service" |
||
568 | is only informational; its existence is most likely a hint that |
||
569 | subordinate OIDs will be found at that OID-IP server. If the result |
||
570 | is "Not found; superior object found", then the client SHOULD query |
||
571 | the referred OID-IP server to receive more information about the OID. |
||
572 | See more information in section 4 "Referral". |
||
573 | |||
574 | (14) "attribute" (OPTIONAL, multiple values allowed) contains |
||
575 | attributes of the OID. An attribute MUST be one of the following |
||
576 | values: |
||
577 | |||
578 | "confidential" means that information about the OID or part of it |
||
579 | is confidential. |
||
580 | |||
581 | "draft" means that the allocation of the OID is not yet official |
||
582 | and the information is subject to change without notice. This |
||
583 | includes deletion and relocation. |
||
584 | |||
585 | "frozen" means that no more child OIDs can be created under this |
||
586 | OID, e.g. because the RA has stopped operating, but the existing |
||
587 | child OIDs stay valid. |
||
588 | |||
589 | "leaf" means that no child OIDs can be allocated under this OID. |
||
590 | The field "subordinate" SHALL therefore not be present. |
||
591 | |||
592 | "no-identifiers" means that the RA is not allocating alphanumeric |
||
593 | identifiers. |
||
594 | |||
595 | "no-unicode-labels" means that the RA is not allocating Non- |
||
596 | integer Unicode labels. |
||
597 | |||
598 | "retired" means that the OID is withdrawn, revoked, retired, |
||
599 | expired, etc. Please consult Recommendation ITU-T X.660 (2011) | |
||
600 | ISO/IEC 9834-1:2012 [X660] for more information about such cases. |
||
601 | |||
602 | (15) "parent" (OPTIONAL) contains the OID of the nearest known parent |
||
603 | OID, prepended by namespace identifier and double colon, i.e. "oid:". |
||
604 | It MAY be followed by additional human-readable information, e.g. a |
||
605 | description or a list of ASN.1 identifiers. There SHALL be at least |
||
606 | 1 whitespace in between. |
||
607 | |||
608 | (16) "subordinate" (OPTIONAL, multiple values allowed) contains a |
||
609 | list of subordinate OIDs, prepended by namespace identifier and |
||
610 | double colon, i.e. "oid:". It MAY be followed by additional human- |
||
611 | readable information, e.g. a description or a list of ASN.1 |
||
612 | identifiers. There SHALL be at least 1 whitespace in between. |
||
613 | |||
614 | |||
615 | |||
616 | Marschall Expires September 16, 2022 [Page 11] |
||
617 | |||
618 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
619 | |||
620 | |||
621 | (17) "created" (OPTIONAL) contains the date and time (as specified in |
||
622 | section 3.4 "Date/Time Format") when the OID was first allocated by |
||
623 | the RA of the superior OID. |
||
624 | |||
625 | (18) "updated" (OPTIONAL) contains the date and time (as specified in |
||
626 | section 3.4 "Date/Time Format") when the OID information was last |
||
627 | updated. |
||
628 | |||
629 | Additional fields can be defined by the OID-IP service. The field |
||
630 | names SHALL only consist of the lower-case letters "a..z", hyphens |
||
631 | ("-"), and numbers, and SHOULD be written in the English language. |
||
632 | The field name MUST NOT begin or end with a hyphen and a hyphen MUST |
||
633 | NOT be followed by another hyphen. |
||
634 | |||
635 | |||
636 | |||
637 | |||
638 | |||
639 | |||
640 | |||
641 | |||
642 | |||
643 | |||
644 | |||
645 | |||
646 | |||
647 | |||
648 | |||
649 | |||
650 | |||
651 | |||
652 | |||
653 | |||
654 | |||
655 | |||
656 | |||
657 | |||
658 | |||
659 | |||
660 | |||
661 | |||
662 | |||
663 | |||
664 | |||
665 | |||
666 | |||
667 | |||
668 | |||
669 | |||
670 | |||
671 | |||
672 | Marschall Expires September 16, 2022 [Page 12] |
||
673 | |||
674 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
675 | |||
676 | |||
677 | 3.2.3 RA-Section (Information about the Current RA) |
||
678 | |||
679 | This section MUST NOT be present if the result is "Not found" or |
||
680 | "Service error", otherwise it MAY be present. If it is present, it |
||
681 | MUST start with the field "ra". |
||
682 | |||
683 | Possible fields are: |
||
684 | |||
685 | (1) "ra" contains a general name of the RA, like the name of a |
||
686 | person, the name of a group, or the name of an organization. This |
||
687 | field MUST be present. |
||
688 | |||
689 | (2) "ra-status" MUST be present and SHALL be one of the following |
||
690 | values: |
||
691 | |||
692 | "Information available" means that information about this RA is |
||
693 | fully available. |
||
694 | |||
695 | "Information partially available" means that part of the |
||
696 | information is not available. A possible reason could be that |
||
697 | part of the information is redacted due to confidentiality. The |
||
698 | field "attribute" MAY be used with the value "confidential". |
||
699 | |||
700 | "Information unavailable" means that the data is missing (if the |
||
701 | OID-IP service only knows the name of the RA and nothing else), |
||
702 | redacted due to confidentiality, or otherwise unavailable. The |
||
703 | field "attribute" MAY be used with the value "confidential". |
||
704 | |||
705 | (3) "ra-contact-name" (OPTIONAL, multiple values allowed) contains |
||
706 | the name of a person responsible for the allocation of subordinate |
||
707 | OIDs, in case "ra" is a group or organization. |
||
708 | |||
709 | (4) "ra-address" (OPTIONAL) contains the physical location of the RA. |
||
710 | While a fully qualified postal address is recommended, the field can |
||
711 | also just contain a rough location like city and country name, state |
||
712 | and country name, or just the country name, etc. The name of the |
||
713 | country SHOULD always be present. |
||
714 | |||
715 | (5) "ra-phone" (OPTIONAL, multiple values allowed) contains a |
||
716 | landline phone number of the Registration Authority. It SHOULD be |
||
717 | written in the international number format specified in |
||
718 | Recommendation ITU-T E.164 (2010) [E164], e.g. +1 206 555 0100. |
||
719 | |||
720 | (6) "ra-mobile" (OPTIONAL, multiple values allowed) contains a mobile |
||
721 | phone number of the Registration Authority. It SHOULD be written in |
||
722 | the international number format specified in Recommendation ITU-T |
||
723 | E.164 (2010) [E164], e.g. +1 206 555 0100. |
||
724 | |||
725 | |||
726 | |||
727 | |||
728 | Marschall Expires September 16, 2022 [Page 13] |
||
729 | |||
730 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
731 | |||
732 | |||
733 | (7) "ra-fax" (OPTIONAL, multiple values allowed) contains a fax |
||
734 | number of the Registration Authority. It SHOULD be written in the |
||
735 | international number format specified in Recommendation ITU-T E.164 |
||
736 | (2010) [E164], e.g. +1 206 555 0100. |
||
737 | |||
738 | (8) "ra-email" (OPTIONAL, multiple values allowed) contains an email |
||
739 | address of the Registration Authority. |
||
740 | |||
741 | (9) "ra-url" (OPTIONAL, multiple values allowed) contains a URL (as |
||
742 | defined in RFC 3986 [RFC3986]) leading to more information about the |
||
743 | RA (usually the website of the RA). |
||
744 | |||
745 | (10) "ra-attribute" (OPTIONAL, multiple values allowed) contains |
||
746 | attributes of the RA. An attribute MUST be one of the following |
||
747 | values: |
||
748 | |||
749 | "confidential" means that the information about the RA or part of |
||
750 | it is confidential. |
||
751 | |||
752 | "retired" means that the RA is defunct. If this attribute is set |
||
753 | to the current RA, then the OID MUST have the attribute "frozen" |
||
754 | (until the responsibility is transferred to a non-defunct RA, or |
||
755 | until the current RA becomes active again). |
||
756 | |||
757 | (11) "ra-created" (OPTIONAL) contains the date and time (as specified |
||
758 | in section 3.4 "Date/Time Format") when the RA was created/registered |
||
759 | in the database. |
||
760 | |||
761 | (12) "ra-updated" (OPTIONAL) contains the date and time (as specified |
||
762 | in section 3.4 "Date/Time Format") when the RA information was last |
||
763 | modified. |
||
764 | |||
765 | Additional fields can be defined by the OID-IP service, but they MUST |
||
766 | begin with "ra-". The field names SHALL only consist of the lower- |
||
767 | case letters "a..z", hyphens ("-"), and numbers, and SHOULD be |
||
768 | written in the English language. The field name MUST NOT begin or |
||
769 | end with a hyphen and a hyphen MUST NOT be followed by another |
||
770 | hyphen. |
||
771 | |||
772 | 3.2.4 Sections for Previous Registration Authorities |
||
773 | |||
774 | To optionally display information about RAs that were previously in |
||
775 | charge of managing the OID, a new section per RA can be added with |
||
776 | the following field name prefixes: |
||
777 | |||
778 | "ra-" is the prefix of the current Registration Authority. |
||
779 | |||
780 | "ra1-" is the prefix of the first RA. It is the very first person or |
||
781 | |||
782 | |||
783 | |||
784 | Marschall Expires September 16, 2022 [Page 14] |
||
785 | |||
786 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
787 | |||
788 | |||
789 | company to whom the OID was allocated by the RA of the superior OID. |
||
790 | "ra2-" is the prefix of the second RA, after the responsibility has |
||
791 | been transferred. etc. |
||
792 | |||
793 | The definition of these sections is identical to the definition of |
||
794 | the RA-Section (described in section 3.2.3 "RA-Section"), just with a |
||
795 | different prefix. |
||
796 | |||
797 | The history does not need to be complete, e.g. it is no problem to |
||
798 | only serve information about the first and the current RA, or only |
||
799 | serve information about the current RA. |
||
800 | |||
801 | 3.3 Digital Signature |
||
802 | |||
803 | If integrity/authenticity is required, the whole response can be |
||
804 | signed, e.g. by using S/MIME, RSA, or PGP. This document does not |
||
805 | describe a mechanism for detecting which signature method was used. |
||
806 | The creation and verification of the signature are therefore |
||
807 | implementation-specific and no interoperability regarding signature |
||
808 | creation and validation is given at this time. |
||
809 | |||
810 | Depending on the signature method being used, various things need to |
||
811 | be appended and/or prepended to the response. These additional lines |
||
812 | MUST be prepended by a percent sign ("%") to avoid that an |
||
813 | application confuses these additional lines (e.g. lines belonging to |
||
814 | a PGP header, as defined in RFC 4880 [RFC4880]) with parts of the |
||
815 | actual OID-IP response. |
||
816 | |||
817 | 3.4 Date/Time Format |
||
818 | |||
819 | Date/Time references SHALL be formatted as described in |
||
820 | section 3.4.1. |
||
821 | |||
822 | If parts of the date/time reference are uncertain, then they SHOULD |
||
823 | be omitted until the date/time reference has the highest correctness. |
||
824 | |||
825 | Examples of valid date/time references can be found in section 3.4.2. |
||
826 | |||
827 | |||
828 | |||
829 | |||
830 | |||
831 | |||
832 | |||
833 | |||
834 | |||
835 | |||
836 | |||
837 | |||
838 | |||
839 | |||
840 | Marschall Expires September 16, 2022 [Page 15] |
||
841 | |||
842 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
843 | |||
844 | |||
845 | 3.4.1 Date/Time Format ABNF Notation |
||
846 | |||
847 | To define the format of a Date/Time reference, the following |
||
848 | Augmented BNF definitions will be used. They are based on the ABNF |
||
849 | styles of RFC 5234 [RFC5234]. |
||
850 | |||
851 | date-time = year [ "-" month [ "-" day [ " " time ] ] ] |
||
852 | |||
853 | year = 4*4DIGIT |
||
854 | |||
855 | month = ( "0" %x31-39 ) / |
||
856 | ( "1" %x30-32 ) ; 01-12 |
||
857 | |||
858 | day = ( "0" %x31-39 ) / |
||
859 | ( "1" %x30-39 ) / |
||
860 | ( "2" %x30-39 ) / |
||
861 | ( "3" %x30-31 ) / ; 01-31 |
||
862 | |||
863 | time = hour ":" minute [ ":" second ] [ " " timezone ] |
||
864 | |||
865 | hour = ( "0" %x30-39 ) / |
||
866 | ( "1" %x30-39 ) / |
||
867 | ( "2" %x30-33 ) ; 00-23 |
||
868 | |||
869 | minute = %x30-35 DIGIT ; 00-59 |
||
870 | |||
871 | second = %x30-35 DIGIT ; 00-59 |
||
872 | |||
873 | timezone = ( "+" / "-" ) hour minute |
||
874 | |||
875 | 3.4.2 Date/Time Format Examples |
||
876 | |||
877 | Examples of valid date/time references are: |
||
878 | |||
879 | 2021-04-29 18:32:00 +0200 |
||
880 | 2021-04-29 18:32:00 |
||
881 | 2021-04-29 18:32 +0200 |
||
882 | 2021-04-29 18:32 |
||
883 | 2021-04-29 |
||
884 | 2021-04 |
||
885 | 2021 |
||
886 | |||
887 | |||
888 | |||
889 | |||
890 | |||
891 | |||
892 | |||
893 | |||
894 | |||
895 | |||
896 | Marschall Expires September 16, 2022 [Page 16] |
||
897 | |||
898 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
899 | |||
900 | |||
901 | 4 Referral |
||
902 | |||
903 | By using the field "oidip-service", the OID-IP service can instruct |
||
904 | the client to query another OID-IP service that might have more |
||
905 | information about the requested OID. |
||
906 | |||
907 | If Registration Authorities maintain up-to-date OID-IP service |
||
908 | references of their OID delegations, it is possible to automatically |
||
909 | retrieve information about any OID. |
||
910 | |||
911 | Example: OID "2.999" is owned by Registration Authority "A", |
||
912 | operating an OID-IP service at "a.example.com". |
||
913 | |||
914 | Registration Authority "A" allocated OID "2.999.1000" to Registration |
||
915 | Authority "B" who is operating an OID-IP service at "b.example.com". |
||
916 | |||
917 | The client asks a.example.com for information about OID |
||
918 | "2.999.1000.1" and should receive the following reply: |
||
919 | |||
920 | query: oid:2.999.1000.1 |
||
921 | result: Not found; superior object found |
||
922 | distance: 1 |
||
923 | |||
924 | object: oid:2.999.1000 |
||
925 | status: Information available |
||
926 | name: Company "B" |
||
927 | oidip-service: b.example.com:XXX |
||
928 | |||
929 | ra: "B" |
||
930 | ra-status: Information unavailable |
||
931 | |||
932 | The client is now aware that "a.example.com" only knows OID |
||
933 | "2.999.1000", and that there is a reference to another OID-IP service |
||
934 | located at "b.example.com". So, the client should then accordingly |
||
935 | query "b.example.com", asking for information about OID |
||
936 | "2.999.1000.1": |
||
937 | |||
938 | query: oid:2.999.1000.1 |
||
939 | result: Found |
||
940 | |||
941 | object: oid:2.999.1000.1 |
||
942 | status: Information available |
||
943 | name: Example OID 1 |
||
944 | |||
945 | ra: "B" |
||
946 | ra-status: Information unavailable |
||
947 | |||
948 | |||
949 | |||
950 | |||
951 | |||
952 | Marschall Expires September 16, 2022 [Page 17] |
||
953 | |||
954 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
955 | |||
956 | |||
957 | 5 Full Example |
||
958 | |||
959 | 5.1 Request |
||
960 | |||
961 | oid:2.999 |
||
962 | |||
963 | 5.2 Response |
||
964 | |||
965 | query: oid:2.999 |
||
966 | result: Found |
||
967 | |||
968 | object: oid:2.999 |
||
969 | status: Information available |
||
970 | name: Example |
||
971 | description: This OID can be used by anyone, for the purposes of |
||
972 | description: documenting examples of Object Identifiers. |
||
973 | asn1-notation: {joint-iso-itu-t(2) example(999)} |
||
974 | iri-notation: /Example |
||
975 | identifier: example |
||
976 | unicode-label: Beispiel |
||
977 | unicode-label: Ejemplo |
||
978 | unicode-label: Example |
||
979 | unicode-label: Exemple |
||
980 | unicode-label: (Korean characters are omitted in this example) |
||
981 | unicode-label: (Arabian characters are omitted in this example) |
||
982 | unicode-label: (Japanese characters are omitted in this example) |
||
983 | unicode-label: (Chinese characters are omitted in this example) |
||
984 | unicode-label: (Russian characters are omitted in this example) |
||
985 | long-arc: Beispiel |
||
986 | long-arc: Ejemplo |
||
987 | long-arc: Example |
||
988 | long-arc: Exemple |
||
989 | long-arc: (Korean characters are omitted in this example) |
||
990 | long-arc: (Arabian characters are omitted in this example) |
||
991 | long-arc: (Japanese characters are omitted in this example) |
||
992 | long-arc: (Chinese characters are omitted in this example) |
||
993 | long-arc: (Russian characters are omitted in this example) |
||
994 | parent: oid:2 (joint-iso-itu-t) |
||
995 | created: 2011-06 |
||
996 | updated: 2011-09 |
||
997 | |||
998 | ra: ITU-T SG 17 & ISO/IEC JTC 1/SC 6 |
||
999 | ra-status: Information unavailable |
||
1000 | % -----BEGIN RSA SIGNATURE----- |
||
1001 | % DwnqRtx/ONtPh4onXnrZPl9jF+G50RMLZkSwuClaoH2t/yK8CnYJrmzkzA5+gkfWkoQ |
||
1002 | % cq+J8J9cvnwXvBfpVHh+7lyNOVW1N016TYFcBt8MVxb6K2KhkKclqeA6wz0kSUuE4qR |
||
1003 | % ZohzrZBcCP7aLIpcaoVi6QACAt6J0vOvYBaf0= |
||
1004 | % -----END RSA SIGNATURE----- |
||
1005 | |||
1006 | |||
1007 | |||
1008 | Marschall Expires September 16, 2022 [Page 18] |
||
1009 | |||
1010 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1011 | |||
1012 | |||
1013 | 6 Alternative Namespaces |
||
1014 | |||
1015 | This document describes the retrieval of information about OIDs using |
||
1016 | the OID-IP protocol. In addition to the OID namespace, the methods |
||
1017 | described in this document can also be applied to other namespaces |
||
1018 | like "uuid", "isbn", "gtin" etc. |
||
1019 | |||
1020 | Following things need to be considered if alternative namespaces are |
||
1021 | implemented: |
||
1022 | |||
1023 | (1) The request MUST be UTF-8 encoded (as defined in RFC 3629 |
||
1024 | [RFC3629]), without Byte-Order-Mark (BOM). |
||
1025 | |||
1026 | (2) The namespace SHALL be a namespace identifier (NID) as defined in |
||
1027 | RFC 8141 [RFC8141]. |
||
1028 | |||
1029 | (3) The namespace identifier SHALL be written in lower-case (this is |
||
1030 | already defined in section 2 "Request"). |
||
1031 | |||
1032 | (4) If available, a formal URN namespace identifier (as defined in |
||
1033 | RFC 8141, section 5.1 [RFC8141]) SHOULD be used, e.g. "uuid" should |
||
1034 | be used instead of "guid". |
||
1035 | |||
1036 | (5) If things like "Owner", "Creator", "Manager", "Administrator", |
||
1037 | etc., are relevant to the identifiers in the namespace, then the RA- |
||
1038 | section as described in section 3.2.3 SHALL be used, even though the |
||
1039 | word "Registration Authority" might not be appropriate in the |
||
1040 | terminology of the namespace. |
||
1041 | |||
1042 | (6) The namespace-specific identifier MUST NOT contain dollar signs |
||
1043 | ("$"), because section 2.1 "Authentication Tokens" defines them as a |
||
1044 | separator for authentication tokens. |
||
1045 | |||
1046 | (7) The namespace-specific identifier MUST be treated case-sensitive |
||
1047 | if the namespace distinguishes between lower-case and upper-case. |
||
1048 | |||
1049 | (8) Fields that can only be used in the OID namespace (e.g. "unicode- |
||
1050 | label") MUST NOT be used for other namespaces. |
||
1051 | |||
1052 | |||
1053 | |||
1054 | |||
1055 | |||
1056 | |||
1057 | |||
1058 | |||
1059 | |||
1060 | |||
1061 | |||
1062 | |||
1063 | |||
1064 | Marschall Expires September 16, 2022 [Page 19] |
||
1065 | |||
1066 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1067 | |||
1068 | |||
1069 | 6.1 Example: UUID Namespace |
||
1070 | |||
1071 | The following example shows the retrieval of information about |
||
1072 | Universally Unique Identifiers (e.g. UUIDs used by the Microsoft |
||
1073 | Common Object Model, also known as GUIDs). The UUID namespace has no |
||
1074 | hierarchical structure, which means that the OID-IP service can only |
||
1075 | respond with the result "Found", "Not found" or "Service error" and |
||
1076 | the fields "parent" and "subordinate" cannot be used. |
||
1077 | |||
1078 | Request: |
||
1079 | |||
1080 | uuid:b4bfcc3a-db2c-424c-b029-7fe99a87c641 |
||
1081 | |||
1082 | Response: |
||
1083 | |||
1084 | query: uuid:b4bfcc3a-db2c-424c-b029-7fe99a87c641 |
||
1085 | result: Found |
||
1086 | |||
1087 | object: uuid:b4bfcc3a-db2c-424c-b029-7fe99a87c641 |
||
1088 | status: Information available |
||
1089 | name: Desktop |
||
1090 | information: GUID can be used in file dialogs as "Custom Place". |
||
1091 | |||
1092 | ra: Microsoft Corp. |
||
1093 | ra-status: Information unavailable |
||
1094 | |||
1095 | More information about UUIDs can be found in Recommendation ITU-T |
||
1096 | X.667 (2012) | ISO/IEC 9834-8:2014 [X667]. |
||
1097 | |||
1098 | More information about the Microsoft Common Object Model (COM) can be |
||
1099 | found at Microsoft Docs <https://docs.microsoft.com/en- |
||
1100 | us/windows/win32/com/component-object-model--com--portal>. |
||
1101 | |||
1102 | 7 Internationalization Considerations |
||
1103 | |||
1104 | This document specifies that the request and response MUST be UTF-8 |
||
1105 | encoded (as defined in RFC 3629 [RFC3629]), without Byte-Order-Mark |
||
1106 | (BOM). |
||
1107 | |||
1108 | The OID-IP service can define additional field names, but they SHOULD |
||
1109 | be written in the English language so that there is consistency with |
||
1110 | the field names defined in this document. |
||
1111 | |||
1112 | |||
1113 | |||
1114 | |||
1115 | |||
1116 | |||
1117 | |||
1118 | |||
1119 | |||
1120 | Marschall Expires September 16, 2022 [Page 20] |
||
1121 | |||
1122 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1123 | |||
1124 | |||
1125 | 8 Security Considerations |
||
1126 | |||
1127 | (1) The knowledge of existence or information about some OIDs could |
||
1128 | be considered confidential. In this case, the OID-IP service can |
||
1129 | either deny the existence of the requested OID (by setting the result |
||
1130 | to "Not found") or redact information in the Object-Section, as |
||
1131 | defined in section 3.2.2 "Object-Section". |
||
1132 | |||
1133 | (2) Registration Authorities might demand that their data is kept |
||
1134 | confidential, or at least be partially redacted to increase privacy |
||
1135 | or as a measurement against spam. In this case, the OID-IP service |
||
1136 | can redact information in the RA-Section, as defined in section 3.2.3 |
||
1137 | "RA-Section". |
||
1138 | |||
1139 | (3) The OID-IP service can decide if confidential material is omitted |
||
1140 | or shown, based on authentication mechanisms like white-listing |
||
1141 | client IP addresses or by using authentication tokens supplied by the |
||
1142 | client, as defined in section 2.1 "Authentication Tokens". |
||
1143 | |||
1144 | (4) The usage of authentication tokens is not recommended if the |
||
1145 | traffic between client and server is transmitted through an untrusted |
||
1146 | network, because the OID-IP protocol is not encrypted. |
||
1147 | |||
1148 | (5) Authentication tokens must have a sufficient length and |
||
1149 | complexity to avoid successful brute force attacks, or the OID-IP |
||
1150 | service must limit the number of requests per time. |
||
1151 | |||
1152 | (6) The OID-IP protocol itself has no mechanism for verifying the |
||
1153 | integrity of data received. Due to this fact, the information should |
||
1154 | not be trusted if it is transmitted through an untrusted network. If |
||
1155 | integrity/authenticity is required, the OID-IP response can be |
||
1156 | signed, as described in section 3.3 "Digital Signature". However, |
||
1157 | this document does not describe a mechanism for detecting which |
||
1158 | signature method was used. Therefore, no interoperability of |
||
1159 | signature creation/validation is given at this time. |
||
1160 | |||
1161 | |||
1162 | |||
1163 | |||
1164 | |||
1165 | |||
1166 | |||
1167 | |||
1168 | |||
1169 | |||
1170 | |||
1171 | |||
1172 | |||
1173 | |||
1174 | |||
1175 | |||
1176 | Marschall Expires September 16, 2022 [Page 21] |
||
1177 | |||
1178 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1179 | |||
1180 | |||
1181 | 9 IANA Considerations |
||
1182 | |||
1183 | 9.1 Port Numbers |
||
1184 | |||
1185 | This document requires the assignment of a TCP port number. |
||
1186 | |||
1187 | |||
1188 | +--------------------+-----------------------------+ |
||
1189 | | Service Name | oidip | |
||
1190 | | Transport Protocol | TCP | |
||
1191 | | Assignee | ... | |
||
1192 | | Contact | ... | |
||
1193 | | Description | OID Information Protocol | |
||
1194 | | Reference | [RFCyyyy] | |
||
1195 | | Port Number | XXX | |
||
1196 | +--------------------+-----------------------------+ |
||
1197 | |||
1198 | |||
1199 | [Please change "yyyy" to the RFC number allocated to this document |
||
1200 | before publication.] |
||
1201 | |||
1202 | [Please change "XXX" placed at various locations in this document to |
||
1203 | the port number allocated by IANA.] |
||
1204 | |||
1205 | 10 References |
||
1206 | |||
1207 | 10.1 Normative References |
||
1208 | |||
1209 | [E164] "The international public telecommunication numbering |
||
1210 | plan", Recommendation ITU-T E.164 (2010), November 2010. |
||
1211 | <http://handle.itu.int/11.1002/1000/10688>. |
||
1212 | |||
1213 | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate |
||
1214 | Requirement Levels", BCP 14, RFC 2119, |
||
1215 | DOI 10.17487/RFC2119, March 1997. |
||
1216 | <http://www.rfc-editor.org/info/rfc2119>. |
||
1217 | |||
1218 | [RFC3061] Mealling, M., "A URN Namespace of Object Identifiers", |
||
1219 | RFC 3061, DOI 10.17487/RFC3061, February 2001. |
||
1220 | <http://www.rfc-editor.org/info/rfc3061>. |
||
1221 | |||
1222 | [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO |
||
1223 | 10646", STD 63, RFC 3629, DOI 10.17487/RFC3629, |
||
1224 | November 2003. |
||
1225 | <http://www.rfc-editor.org/info/rfc3629>. |
||
1226 | |||
1227 | [RFC3986] Berners-Lee, T., "Uniform Resource Identifier (URI): |
||
1228 | Generic Syntax", STD 66, RFC 3986, DOI 10.17487/RFC3986, |
||
1229 | |||
1230 | |||
1231 | |||
1232 | Marschall Expires September 16, 2022 [Page 22] |
||
1233 | |||
1234 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1235 | |||
1236 | |||
1237 | January 2005. |
||
1238 | <http://www.rfc-editor.org/info/rfc3986>. |
||
1239 | |||
1240 | [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax |
||
1241 | Specifications: ABNF", STD 68, RFC 5234, |
||
1242 | DOI 10.17487/RFC5234, January 2008. |
||
1243 | <http://www.rfc-editor.org/info/rfc5234>. |
||
1244 | |||
1245 | [RFC8141] Saint-Andre, P., "Uniform Resource Names (URNs)", |
||
1246 | RFC 8141, DOI 10.17487/RFC8141, April 2017. |
||
1247 | <http://www.rfc-editor.org/info/rfc8141>. |
||
1248 | |||
1249 | [RFC8259] Bray, T., "The JavaScript Object Notation (JSON) Data |
||
1250 | Interchange Format", RFC 8259, DOI 10.17487/RFC8259, |
||
1251 | December 2017. |
||
1252 | <http://www.rfc-editor.org/info/rfc8259>. |
||
1253 | |||
1254 | [X660] "Information technology - Procedures for the operation of |
||
1255 | object identifier registration authorities: General |
||
1256 | procedures and top arcs of the international object |
||
1257 | identifier tree", Recommendation ITU-T X.660 (2011) | |
||
1258 | ISO/IEC 9834-1:2012, July 2011. |
||
1259 | <http://handle.itu.int/11.1002/1000/11336>. |
||
1260 | |||
1261 | [X680] "Information technology - Abstract Syntax Notation One |
||
1262 | (ASN.1): Specification of basic notation", Recommendation |
||
1263 | ITU-T X.680 (2015) | ISO/IEC 8824-1:2015, August 2015. |
||
1264 | <http://handle.itu.int/11.1002/1000/12479>. |
||
1265 | |||
1266 | [XML] "Extensible Markup Language (XML) 1.1 (Second Edition)" |
||
1267 | W3C Recommendation 16 August 2006, edited in place 29 |
||
1268 | September 2006 |
||
1269 | <https://www.w3.org/TR/2006/REC-xml11-20060816/> |
||
1270 | |||
1271 | 10.2 Informative References |
||
1272 | |||
1273 | [RFC1157] Case, J., Fedor, M., Schoffstall, M., Davin, J., "A Simple |
||
1274 | Network Management Protocol (SNMP)", RFC 1157, |
||
1275 | DOI 10.17487/RFC1157, May 1990. |
||
1276 | <http://www.rfc-editor.org/info/rfc1157>. |
||
1277 | |||
1278 | [RFC4511] Sermersheim, J., "Lightweight Directory Access Protocol |
||
1279 | (LDAP): The Protocol", RFC 4511, DOI 10.17487/RFC4511, |
||
1280 | June 2006. |
||
1281 | <http://www.rfc-editor.org/info/rfc4511>. |
||
1282 | |||
1283 | [RFC4880] Callas, J., Donnerhacke, L., Finney, H., Shaw, D., Thayer, |
||
1284 | R., "OpenPGP Message Format", RFC 4880, |
||
1285 | |||
1286 | |||
1287 | |||
1288 | Marschall Expires September 16, 2022 [Page 23] |
||
1289 | |||
1290 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1291 | |||
1292 | |||
1293 | DOI 10.17487/RFC4880, November 2007. |
||
1294 | <http://www.rfc-editor.org/info/rfc4880>. |
||
1295 | |||
1296 | [X509] "Information technology - Open Systems Interconnection - |
||
1297 | The Directory: Public-key and attribute certificate |
||
1298 | frameworks", Recommendation ITU-T X.509 (2016) | |
||
1299 | ISO/IEC 9594-8:2017, October 2016. |
||
1300 | <http://handle.itu.int/11.1002/1000/13031>. |
||
1301 | |||
1302 | [X667] "Information technology - Procedures for the operation of |
||
1303 | object identifier registration authorities: Generation of |
||
1304 | universally unique identifiers and their use in object |
||
1305 | identifiers", Recommendation ITU-T X.667 (2012) | |
||
1306 | ISO/IEC 9834-8:2014, October 2012. |
||
1307 | <http://handle.itu.int/11.1002/1000/11746>. |
||
1308 | |||
1309 | [X672] "Information technology - Open systems interconnection - |
||
1310 | Object identifier resolution system", |
||
1311 | Recommendation ITU-T X.672 (2010) | ISO/IEC 29168-1:2011, |
||
1312 | August 2010. |
||
1313 | <http://handle.itu.int/11.1002/1000/10831>. |
||
1314 | |||
1315 | |||
1316 | |||
1317 | |||
1318 | |||
1319 | |||
1320 | |||
1321 | |||
1322 | |||
1323 | |||
1324 | |||
1325 | |||
1326 | |||
1327 | |||
1328 | |||
1329 | |||
1330 | |||
1331 | |||
1332 | |||
1333 | |||
1334 | |||
1335 | |||
1336 | |||
1337 | |||
1338 | |||
1339 | |||
1340 | |||
1341 | |||
1342 | |||
1343 | |||
1344 | Marschall Expires September 16, 2022 [Page 24] |
||
1345 | |||
1346 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1347 | |||
1348 | |||
1349 | Appendix A.1: JSON Schema |
||
1350 | |||
1351 | { |
||
1352 | "$schema":"http://json-schema.org/draft-07/schema#", |
||
1353 | "type":"object", |
||
1354 | "properties":{ |
||
1355 | "oidip":{ |
||
1356 | "type":"array", |
||
1357 | "items":[ |
||
1358 | { |
||
1359 | "type":"object", |
||
1360 | "properties":{ |
||
1361 | "query":{ |
||
1362 | "type":"string" |
||
1363 | }, |
||
1364 | "result":{ |
||
1365 | "type":"string", |
||
1366 | "enum":["Found", |
||
1367 | "Not found; superior object found", |
||
1368 | "Not found", |
||
1369 | "Service error"] |
||
1370 | }, |
||
1371 | "distance":{ |
||
1372 | "type":"string" |
||
1373 | }, |
||
1374 | "message":{ |
||
1375 | "type":"string" |
||
1376 | } |
||
1377 | }, |
||
1378 | "required":[ |
||
1379 | "query", |
||
1380 | "result" |
||
1381 | ] |
||
1382 | }, |
||
1383 | { |
||
1384 | "type":"object", |
||
1385 | "properties":{ |
||
1386 | "object":{ |
||
1387 | "type":"string" |
||
1388 | }, |
||
1389 | "status":{ |
||
1390 | "type":"string", |
||
1391 | "enum":["Information available", |
||
1392 | "Information partially available", |
||
1393 | "Information unavailable"] |
||
1394 | }, |
||
1395 | "name":{ |
||
1396 | "type":"string" |
||
1397 | |||
1398 | |||
1399 | |||
1400 | Marschall Expires September 16, 2022 [Page 25] |
||
1401 | |||
1402 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1403 | |||
1404 | |||
1405 | }, |
||
1406 | "description":{ |
||
1407 | "type":"string" |
||
1408 | }, |
||
1409 | "information":{ |
||
1410 | "type":"string" |
||
1411 | }, |
||
1412 | "url":{ |
||
1413 | "type":"string" |
||
1414 | }, |
||
1415 | "asn1-notation":{ |
||
1416 | "oneOf":[ |
||
1417 | { |
||
1418 | "type":"string" |
||
1419 | }, |
||
1420 | { |
||
1421 | "type":"array", |
||
1422 | "items":{ |
||
1423 | "type":"string" |
||
1424 | } |
||
1425 | } |
||
1426 | ] |
||
1427 | }, |
||
1428 | "iri-notation":{ |
||
1429 | "oneOf":[ |
||
1430 | { |
||
1431 | "type":"string" |
||
1432 | }, |
||
1433 | { |
||
1434 | "type":"array", |
||
1435 | "items":{ |
||
1436 | "type":"string" |
||
1437 | } |
||
1438 | } |
||
1439 | ] |
||
1440 | }, |
||
1441 | "identifier":{ |
||
1442 | "oneOf":[ |
||
1443 | { |
||
1444 | "type":"string" |
||
1445 | }, |
||
1446 | { |
||
1447 | "type":"array", |
||
1448 | "items":{ |
||
1449 | "type":"string" |
||
1450 | } |
||
1451 | } |
||
1452 | ] |
||
1453 | |||
1454 | |||
1455 | |||
1456 | Marschall Expires September 16, 2022 [Page 26] |
||
1457 | |||
1458 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1459 | |||
1460 | |||
1461 | }, |
||
1462 | "standardized-id":{ |
||
1463 | "oneOf":[ |
||
1464 | { |
||
1465 | "type":"string" |
||
1466 | }, |
||
1467 | { |
||
1468 | "type":"array", |
||
1469 | "items":{ |
||
1470 | "type":"string" |
||
1471 | } |
||
1472 | } |
||
1473 | ] |
||
1474 | }, |
||
1475 | "unicode-label":{ |
||
1476 | "oneOf":[ |
||
1477 | { |
||
1478 | "type":"string" |
||
1479 | }, |
||
1480 | { |
||
1481 | "type":"array", |
||
1482 | "items":{ |
||
1483 | "type":"string" |
||
1484 | } |
||
1485 | } |
||
1486 | ] |
||
1487 | }, |
||
1488 | "long-arc":{ |
||
1489 | "oneOf":[ |
||
1490 | { |
||
1491 | "type":"string" |
||
1492 | }, |
||
1493 | { |
||
1494 | "type":"array", |
||
1495 | "items":{ |
||
1496 | "type":"string" |
||
1497 | } |
||
1498 | } |
||
1499 | ] |
||
1500 | }, |
||
1501 | "oidip-service":{ |
||
1502 | "type":"string" |
||
1503 | }, |
||
1504 | "attribute":{ |
||
1505 | "oneOf":[ |
||
1506 | { |
||
1507 | "type":"string", |
||
1508 | "enum":["confidential", |
||
1509 | |||
1510 | |||
1511 | |||
1512 | Marschall Expires September 16, 2022 [Page 27] |
||
1513 | |||
1514 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1515 | |||
1516 | |||
1517 | "draft", |
||
1518 | "frozen", |
||
1519 | "leaf", |
||
1520 | "no-identifiers", |
||
1521 | "no-unicode-labels", |
||
1522 | "retired"] |
||
1523 | }, |
||
1524 | { |
||
1525 | "type":"array", |
||
1526 | "items":{ |
||
1527 | "type":"string", |
||
1528 | "enum":["confidential", |
||
1529 | "draft", |
||
1530 | "frozen", |
||
1531 | "leaf", |
||
1532 | "no-identifiers", |
||
1533 | "no-unicode-labels", |
||
1534 | "retired"] |
||
1535 | } |
||
1536 | } |
||
1537 | ] |
||
1538 | }, |
||
1539 | "attachment-name":{ |
||
1540 | "oneOf":[ |
||
1541 | { |
||
1542 | "type":"string" |
||
1543 | }, |
||
1544 | { |
||
1545 | "type":"array", |
||
1546 | "items":{ |
||
1547 | "type":"string" |
||
1548 | } |
||
1549 | } |
||
1550 | ] |
||
1551 | }, |
||
1552 | "attachment-url":{ |
||
1553 | "oneOf":[ |
||
1554 | { |
||
1555 | "type":"string" |
||
1556 | }, |
||
1557 | { |
||
1558 | "type":"array", |
||
1559 | "items":{ |
||
1560 | "type":"string" |
||
1561 | } |
||
1562 | } |
||
1563 | ] |
||
1564 | }, |
||
1565 | |||
1566 | |||
1567 | |||
1568 | Marschall Expires September 16, 2022 [Page 28] |
||
1569 | |||
1570 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1571 | |||
1572 | |||
1573 | "parent":{ |
||
1574 | "type":"string" |
||
1575 | }, |
||
1576 | "subordinate":{ |
||
1577 | "oneOf":[ |
||
1578 | { |
||
1579 | "type":"string" |
||
1580 | }, |
||
1581 | { |
||
1582 | "type":"array", |
||
1583 | "items":{ |
||
1584 | "type":"string" |
||
1585 | } |
||
1586 | } |
||
1587 | ] |
||
1588 | }, |
||
1589 | "created":{ |
||
1590 | "type":"string", |
||
1591 | "pattern":"/^\d{4}(\-(0[1-9]|11|12) |
||
1592 | (\-(0[1-9]|1\d|2\d|30|31)( [0-5][0-9]:[0-5][0-9](:[0-5][0-9]){0,1} |
||
1593 | ( [\+\-][0-5][0-9][0-5][0-9]){0,1}){0,1}){0,1}){0,1}$/" |
||
1594 | }, |
||
1595 | "updated":{ |
||
1596 | "type":"string", |
||
1597 | "pattern":"/^\d{4}(\-(0[1-9]|11|12) |
||
1598 | (\-(0[1-9]|1\d|2\d|30|31)( [0-5][0-9]:[0-5][0-9](:[0-5][0-9]){0,1} |
||
1599 | ( [\+\-][0-5][0-9][0-5][0-9]){0,1}){0,1}){0,1}){0,1}$/" |
||
1600 | } |
||
1601 | }, |
||
1602 | "required":[ |
||
1603 | "object", |
||
1604 | "status" |
||
1605 | ] |
||
1606 | }, |
||
1607 | { |
||
1608 | "type":"object", |
||
1609 | "properties":{ |
||
1610 | "ra":{ |
||
1611 | "type":"string" |
||
1612 | }, |
||
1613 | "ra-status":{ |
||
1614 | "type":"string", |
||
1615 | "enum":["Information available", |
||
1616 | "Information partially available", |
||
1617 | "Information unavailable"] |
||
1618 | }, |
||
1619 | "ra-contact-name":{ |
||
1620 | "type":"string" |
||
1621 | |||
1622 | |||
1623 | |||
1624 | Marschall Expires September 16, 2022 [Page 29] |
||
1625 | |||
1626 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1627 | |||
1628 | |||
1629 | }, |
||
1630 | "ra-address":{ |
||
1631 | "type":"string" |
||
1632 | }, |
||
1633 | "ra-phone":{ |
||
1634 | "type":"string" |
||
1635 | }, |
||
1636 | "ra-mobile":{ |
||
1637 | "type":"string" |
||
1638 | }, |
||
1639 | "ra-fax":{ |
||
1640 | "type":"string" |
||
1641 | }, |
||
1642 | "ra-email":{ |
||
1643 | "type":"string" |
||
1644 | }, |
||
1645 | "ra-url":{ |
||
1646 | "type":"string" |
||
1647 | }, |
||
1648 | "ra-attribute":{ |
||
1649 | "oneOf":[ |
||
1650 | { |
||
1651 | "type":"string", |
||
1652 | "enum":["confidential", |
||
1653 | "retired"] |
||
1654 | }, |
||
1655 | { |
||
1656 | "type":"array", |
||
1657 | "items":{ |
||
1658 | "type":"string", |
||
1659 | "enum":["confidential", |
||
1660 | "retired"] |
||
1661 | } |
||
1662 | } |
||
1663 | ] |
||
1664 | }, |
||
1665 | "ra-created":{ |
||
1666 | "type":"string", |
||
1667 | "pattern":"/^\d{4}(\-(0[1-9]|11|12) |
||
1668 | (\-(0[1-9]|1\d|2\d|30|31)( [0-5][0-9]:[0-5][0-9](:[0-5][0-9]){0,1} |
||
1669 | ( [\+\-][0-5][0-9][0-5][0-9]){0,1}){0,1}){0,1}){0,1}$/" |
||
1670 | }, |
||
1671 | "ra-updated":{ |
||
1672 | "type":"string", |
||
1673 | "pattern":"/^\d{4}(\-(0[1-9]|11|12) |
||
1674 | (\-(0[1-9]|1\d|2\d|30|31)( [0-5][0-9]:[0-5][0-9](:[0-5][0-9]){0,1} |
||
1675 | ( [\+\-][0-5][0-9][0-5][0-9]){0,1}){0,1}){0,1}){0,1}$/" |
||
1676 | } |
||
1677 | |||
1678 | |||
1679 | |||
1680 | Marschall Expires September 16, 2022 [Page 30] |
||
1681 | |||
1682 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1683 | |||
1684 | |||
1685 | }, |
||
1686 | "required":[ |
||
1687 | "ra", |
||
1688 | "ra-status" |
||
1689 | ] |
||
1690 | } |
||
1691 | ] |
||
1692 | }, |
||
1693 | "signature":{ |
||
1694 | "type":"object", |
||
1695 | "properties":{ |
||
1696 | "content":{ |
||
1697 | "type":"string" |
||
1698 | }, |
||
1699 | "signature":{ |
||
1700 | "type":"string" |
||
1701 | } |
||
1702 | }, |
||
1703 | "required":[ |
||
1704 | "content", |
||
1705 | "signature" |
||
1706 | ] |
||
1707 | } |
||
1708 | }, |
||
1709 | "required":[ |
||
1710 | "oidip" |
||
1711 | ] |
||
1712 | } |
||
1713 | |||
1714 | Appendix A.2: Example of output |
||
1715 | |||
1716 | { |
||
1717 | "$schema":"http://.../oidip_schema.json", |
||
1718 | "oidip": [ |
||
1719 | { |
||
1720 | "query": "oid:2.999", |
||
1721 | "result": "Found" |
||
1722 | }, |
||
1723 | { |
||
1724 | "object": "oid:2.999", |
||
1725 | "status": "Information available", |
||
1726 | "name": "Example", |
||
1727 | "description": "This OID can be used by anyone, for the purposes |
||
1728 | of documenting examples of Object Identifiers.", |
||
1729 | "asn1-notation": "{joint-iso-itu-t(2) example(999)}", |
||
1730 | "iri-notation": "/Example", |
||
1731 | "identifier": "example" |
||
1732 | "unicode-label": ["Beispiel", "Ejemplo", "Example", "Exemple", |
||
1733 | |||
1734 | |||
1735 | |||
1736 | Marschall Expires September 16, 2022 [Page 31] |
||
1737 | |||
1738 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1739 | |||
1740 | |||
1741 | "<Korean characters are omitted in this example>", |
||
1742 | "<Arabian characters are omitted in this example>", |
||
1743 | "<Japanese characters are omitted in this example>", |
||
1744 | "<Chinese characters are omitted in this example>", |
||
1745 | "<Russian characters are omitted in this example>" ] |
||
1746 | "long-arc": ["Beispiel", "Ejemplo", "Example", "Exemple", |
||
1747 | "<Korean characters are omitted in this example>", |
||
1748 | "<Arabian characters are omitted in this example>", |
||
1749 | "<Japanese characters are omitted in this example>", |
||
1750 | "<Chinese characters are omitted in this example>", |
||
1751 | "<Russian characters are omitted in this example>" ] |
||
1752 | "parent": "oid:2 (joint-iso-ccitt, joint-iso-itu-t)", |
||
1753 | "subordinate": [], |
||
1754 | "created": "2011-06", |
||
1755 | "updated": "2020-09" |
||
1756 | }, |
||
1757 | { |
||
1758 | "ra": "ITU-T SG 17 & ISO/IEC JTC 1/SC 6", |
||
1759 | "ra-status": "Information unavailable" |
||
1760 | } |
||
1761 | ], |
||
1762 | "signature": { |
||
1763 | "content": "{\"oidip\":[{...<The contents of the "oidip" |
||
1764 | field are repeated here; ideally minified>...}]}", |
||
1765 | "signature": <Base36 signature here> |
||
1766 | } |
||
1767 | } |
||
1768 | |||
1769 | |||
1770 | |||
1771 | |||
1772 | |||
1773 | |||
1774 | |||
1775 | |||
1776 | |||
1777 | |||
1778 | |||
1779 | |||
1780 | |||
1781 | |||
1782 | |||
1783 | |||
1784 | |||
1785 | |||
1786 | |||
1787 | |||
1788 | |||
1789 | |||
1790 | |||
1791 | |||
1792 | Marschall Expires September 16, 2022 [Page 32] |
||
1793 | |||
1794 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1795 | |||
1796 | |||
1797 | Appendix B.1: XML Schema |
||
1798 | |||
1799 | [Please change "yyyy" to the RFC number allocated to this document |
||
1800 | before publication.] |
||
1801 | |||
1802 | <?xml version="1.0"?> |
||
1803 | <xs:schema targetNamespace="urn:ietf:rfc:yyyy" |
||
1804 | attributeFormDefault="unqualified" |
||
1805 | elementFormDefault="qualified" |
||
1806 | xmlns:xs="http://www.w3.org/2001/XMLSchema"> |
||
1807 | <xs:element name="root"> |
||
1808 | <xs:complexType> |
||
1809 | <xs:sequence> |
||
1810 | <xs:element name="oidip"> |
||
1811 | <xs:complexType> |
||
1812 | <xs:sequence> |
||
1813 | <xs:element name="querySection" minOccurs="1" maxOccurs="1"> |
||
1814 | <xs:complexType> |
||
1815 | <xs:choice maxOccurs="unbounded" minOccurs="1"> |
||
1816 | <xs:element type="xs:string" name="query" minOccurs="1"/> |
||
1817 | <xs:element name="result" minOccurs="1"> |
||
1818 | <xs:simpleType> |
||
1819 | <xs:restriction base="xs:string"> |
||
1820 | <xs:enumeration value="Found"/> |
||
1821 | <xs:enumeration value="Not found; superior object found"/> |
||
1822 | <xs:enumeration value="Not found"/> |
||
1823 | <xs:enumeration value="Service error"/> |
||
1824 | </xs:restriction> |
||
1825 | </xs:simpleType> |
||
1826 | </xs:element> |
||
1827 | <xs:element type="xs:string" name="distance" minOccurs="0"/> |
||
1828 | <xs:element type="xs:string" name="message" minOccurs="0"/> |
||
1829 | </xs:choice> |
||
1830 | </xs:complexType> |
||
1831 | </xs:element> |
||
1832 | <xs:element name="objectSection" minOccurs="0" maxOccurs="1"> |
||
1833 | <xs:complexType> |
||
1834 | <xs:choice maxOccurs="unbounded" minOccurs="1"> |
||
1835 | <xs:element type="xs:string" name="object" minOccurs="1"/> |
||
1836 | <xs:element name="status" minOccurs="1"> |
||
1837 | <xs:simpleType> |
||
1838 | <xs:restriction base="xs:string"> |
||
1839 | <xs:enumeration value="Information available"/> |
||
1840 | <xs:enumeration value="Information partially available"/> |
||
1841 | <xs:enumeration value="Information unavailable"/> |
||
1842 | </xs:restriction> |
||
1843 | </xs:simpleType> |
||
1844 | </xs:element> |
||
1845 | |||
1846 | |||
1847 | |||
1848 | Marschall Expires September 16, 2022 [Page 33] |
||
1849 | |||
1850 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1851 | |||
1852 | |||
1853 | <xs:element type="xs:string" name="name" minOccurs="0"/> |
||
1854 | <xs:element type="xs:string" name="description" minOccurs="0"/> |
||
1855 | <xs:element type="xs:string" name="information" minOccurs="0"/> |
||
1856 | <xs:element type="xs:string" name="url" minOccurs="0"/> |
||
1857 | <xs:element type="xs:string" name="asn1-notation" minOccurs="0"/> |
||
1858 | <xs:element type="xs:string" name="iri-notation" minOccurs="0"/> |
||
1859 | <xs:element type="xs:string" name="identifier" minOccurs="0"/> |
||
1860 | <xs:element type="xs:string" name="standardized-id" minOccurs="0"/> |
||
1861 | <xs:element type="xs:string" name="unicode-label" minOccurs="0"/> |
||
1862 | <xs:element type="xs:string" name="long-arc" minOccurs="0"/> |
||
1863 | <xs:element type="xs:string" name="oidip-service" minOccurs="0"/> |
||
1864 | <xs:element name="attribute" minOccurs="0"> |
||
1865 | <xs:simpleType> |
||
1866 | <xs:restriction base="xs:string"> |
||
1867 | <xs:enumeration value="confidential"/> |
||
1868 | <xs:enumeration value="draft"/> |
||
1869 | <xs:enumeration value="frozen"/> |
||
1870 | <xs:enumeration value="leaf"/> |
||
1871 | <xs:enumeration value="no-identifiers"/> |
||
1872 | <xs:enumeration value="no-unicode-labels"/> |
||
1873 | <xs:enumeration value="retired"/> |
||
1874 | </xs:restriction> |
||
1875 | </xs:simpleType> |
||
1876 | </xs:element> |
||
1877 | <xs:element type="xs:string" name="parent" minOccurs="0"/> |
||
1878 | <xs:element type="xs:string" name="subordinate" |
||
1879 | maxOccurs="unbounded" minOccurs="0"/> |
||
1880 | <xs:element name="created" minOccurs="0"> |
||
1881 | <xs:simpleType> |
||
1882 | <xs:restriction base="xs:string"> |
||
1883 | <xs:pattern value="d{4}(-(0[1-9]|11|12)(-(0[1-9]|1d|2d|30|31) |
||
1884 | ( [0-5][0-9]:[0-5][0-9](:[0-5][0-9]){0,1} |
||
1885 | ( [+-][0-5][0-9][0-5][0-9]){0,1}) |
||
1886 | {0,1}){0,1}){0,1}"></xs:pattern> |
||
1887 | </xs:restriction> |
||
1888 | </xs:simpleType> |
||
1889 | </xs:element> |
||
1890 | <xs:element name="updated" minOccurs="0"> |
||
1891 | <xs:simpleType> |
||
1892 | <xs:restriction base="xs:string"> |
||
1893 | <xs:pattern value="d{4}(-(0[1-9]|11|12)(-(0[1-9]|1d|2d|30|31) |
||
1894 | ( [0-5][0-9]:[0-5][0-9](:[0-5][0-9]){0,1} |
||
1895 | ( [+-][0-5][0-9][0-5][0-9]){0,1}) |
||
1896 | {0,1}){0,1}){0,1}"></xs:pattern> |
||
1897 | </xs:restriction> |
||
1898 | </xs:simpleType> |
||
1899 | </xs:element> |
||
1900 | </xs:choice> |
||
1901 | |||
1902 | |||
1903 | |||
1904 | Marschall Expires September 16, 2022 [Page 34] |
||
1905 | |||
1906 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1907 | |||
1908 | |||
1909 | </xs:complexType> |
||
1910 | </xs:element> |
||
1911 | <xs:element name="raSection" minOccurs="0" maxOccurs="1"> |
||
1912 | <xs:complexType> |
||
1913 | <xs:choice maxOccurs="unbounded" minOccurs="1"> |
||
1914 | <xs:element type="xs:string" name="ra" minOccurs="1"/> |
||
1915 | <xs:element name="ra-status" minOccurs="1"> |
||
1916 | <xs:simpleType> |
||
1917 | <xs:restriction base="xs:string"> |
||
1918 | <xs:enumeration value="Information available"/> |
||
1919 | <xs:enumeration value="Information partially available"/> |
||
1920 | <xs:enumeration value="Information unavailable"/> |
||
1921 | </xs:restriction> |
||
1922 | </xs:simpleType> |
||
1923 | </xs:element> |
||
1924 | <xs:element type="xs:string" name="ra-contact-name" minOccurs="0"/> |
||
1925 | <xs:element type="xs:string" name="ra-address" minOccurs="0"/> |
||
1926 | <xs:element type="xs:string" name="ra-phone" minOccurs="0"/> |
||
1927 | <xs:element type="xs:string" name="ra-mobile" minOccurs="0"/> |
||
1928 | <xs:element type="xs:string" name="ra-fax" minOccurs="0"/> |
||
1929 | <xs:element type="xs:string" name="ra-email" minOccurs="0"/> |
||
1930 | <xs:element type="xs:string" name="ra-url" minOccurs="0"/> |
||
1931 | <xs:element name="ra-attribute" minOccurs="0"> |
||
1932 | <xs:simpleType> |
||
1933 | <xs:restriction base="xs:string"> |
||
1934 | <xs:enumeration value="confidential"/> |
||
1935 | <xs:enumeration value="retired"/> |
||
1936 | </xs:restriction> |
||
1937 | </xs:simpleType> |
||
1938 | </xs:element> |
||
1939 | <xs:element name="ra-created" minOccurs="0"> |
||
1940 | <xs:simpleType> |
||
1941 | <xs:restriction base="xs:string"> |
||
1942 | <xs:pattern value="d{4}(-(0[1-9]|11|12)(-(0[1-9]|1d|2d|30|31) |
||
1943 | ( [0-5][0-9]:[0-5][0-9](:[0-5][0-9]){0,1} |
||
1944 | ( [+-][0-5][0-9][0-5][0-9]){0,1}){0,1}){0,1}){0,1}"></xs:pattern> |
||
1945 | </xs:restriction> |
||
1946 | </xs:simpleType> |
||
1947 | </xs:element> |
||
1948 | <xs:element name="ra-updated" minOccurs="0"> |
||
1949 | <xs:simpleType> |
||
1950 | <xs:restriction base="xs:string"> |
||
1951 | <xs:pattern value="d{4}(-(0[1-9]|11|12)(-(0[1-9]|1d|2d|30|31) |
||
1952 | ( [0-5][0-9]:[0-5][0-9](:[0-5][0-9]){0,1} |
||
1953 | ( [+-][0-5][0-9][0-5][0-9]){0,1}){0,1}){0,1}){0,1}"></xs:pattern> |
||
1954 | </xs:restriction> |
||
1955 | </xs:simpleType> |
||
1956 | </xs:element> |
||
1957 | |||
1958 | |||
1959 | |||
1960 | Marschall Expires September 16, 2022 [Page 35] |
||
1961 | |||
1962 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
1963 | |||
1964 | |||
1965 | </xs:choice> |
||
1966 | </xs:complexType> |
||
1967 | </xs:element> |
||
1968 | </xs:sequence> |
||
1969 | </xs:complexType> |
||
1970 | </xs:element> |
||
1971 | <xs:element name="signature"> |
||
1972 | <xs:complexType> |
||
1973 | <xs:sequence> |
||
1974 | <xs:element type="xs:string" name="content"/> |
||
1975 | <xs:element type="xs:string" name="signature"/> |
||
1976 | </xs:sequence> |
||
1977 | </xs:complexType> |
||
1978 | </xs:element> |
||
1979 | </xs:sequence> |
||
1980 | </xs:complexType> |
||
1981 | </xs:element> |
||
1982 | </xs:schema> |
||
1983 | |||
1984 | |||
1985 | Appendix B.2: Example of output |
||
1986 | |||
1987 | [Please change "yyyy" to the RFC number allocated to this document |
||
1988 | before publication.] |
||
1989 | |||
1990 | <root xmlns="urn:ietf:rfc:yyyy" |
||
1991 | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||
1992 | xsi:schemaLocation="urn:ietf:rfc:yyyy .../oidip_schema.xsd"> |
||
1993 | <oidip> |
||
1994 | <querySection> |
||
1995 | <query>oid:2.999</query> |
||
1996 | <result>Found</result> |
||
1997 | </querySection> |
||
1998 | <objectSection> |
||
1999 | <object>oid:2.999</object> |
||
2000 | <status>Information available</status> |
||
2001 | <asn1-notation>{ joint-iso-itu-t(2) example(999) }</asn1-notation> |
||
2002 | <iri-notation>/Example</iri-notation> |
||
2003 | <identifier>example</identifier> |
||
2004 | <unicode-label>Beispiel</unicode-label> |
||
2005 | <unicode-label>Ejemplo</unicode-label> |
||
2006 | <unicode-label>Example</unicode-label> |
||
2007 | <unicode-label>Exemple</unicode-label> |
||
2008 | <unicode-label><Korean characters are omitted></unicode-label> |
||
2009 | <unicode-label><Arabian characters are omitted></unicode-label> |
||
2010 | <unicode-label><Japanese characters are omitted></unicode-label> |
||
2011 | <unicode-label><Chinese characters are omitted></unicode-label> |
||
2012 | <unicode-label><Russian characters are omitted></unicode-label> |
||
2013 | |||
2014 | |||
2015 | |||
2016 | Marschall Expires September 16, 2022 [Page 36] |
||
2017 | |||
2018 | INTERNET DRAFT OID Information Protocol March 15, 2022 |
||
2019 | |||
2020 | |||
2021 | <long-arc>Beispiel</long-arc> |
||
2022 | <long-arc>Ejemplo</long-arc> |
||
2023 | <long-arc>Example</long-arc> |
||
2024 | <long-arc>Exemple</long-arc> |
||
2025 | <long-arc><Korean characters are omitted></long-arc> |
||
2026 | <long-arc><Arabian characters are omitted></long-arc> |
||
2027 | <long-arc><Japanese characters are omitted></long-arc> |
||
2028 | <long-arc><Chinese characters are omitted></long-arc> |
||
2029 | <long-arc><Russian characters are omitted></long-arc> |
||
2030 | <parent>oid:2 (joint-iso-ccitt, joint-iso-itu-t)</parent> |
||
2031 | </objectSection> |
||
2032 | <raSection> |
||
2033 | <ra>ITU-T SG 17 & ISO/IEC JTC 1/SC 6</ra> |
||
2034 | <ra-status>Information unavailable</ra-status> |
||
2035 | </raSection> |
||
2036 | </oidip> |
||
2037 | <signature> |
||
2038 | <content><oidip><The contents of the "oidip" field are |
||
2039 | repeated here; ideally minified></oidip></content> |
||
2040 | <signature><Base36 signature here></signature> |
||
2041 | </signature> |
||
2042 | </root> |
||
2043 | |||
2044 | |||
2045 | |||
2046 | |||
2047 | Acknowledgements |
||
2048 | |||
2049 | Olivier Dubuisson |
||
2050 | |||
2051 | Authors' Addresses |
||
2052 | |||
2053 | Daniel Marschall |
||
2054 | Postfach 11 53 |
||
2055 | 69243 Bammental |
||
2056 | Germany |
||
2057 | |||
2058 | EMail: daniel-marschall@viathinksoft.de |
||
2059 | |||
2060 | |||
2061 | |||
2062 | |||
2063 | |||
2064 | |||
2065 | |||
2066 | |||
2067 | |||
2068 | |||
2069 | |||
2070 | |||
2071 | |||
2072 | Marschall Expires September 16, 2022 [Page 37] |