Skip to content

Commit 62a24a7

Browse files
committed
adjust code block types
1 parent 3a767d0 commit 62a24a7

1 file changed

Lines changed: 46 additions & 49 deletions

File tree

draft-ietf-oauth-status-list.md

Lines changed: 46 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -21,18 +21,16 @@ venue:
2121
latest: "https://oauth-wg.github.io/draft-ietf-oauth-status-list/draft-ietf-oauth-status-list.html"
2222

2323
author:
24-
-
25-
fullname: Tobias Looker
26-
organization: MATTR
27-
email: tobias.looker@mattr.global
28-
-
29-
fullname: Paul Bastian
30-
organization: Bundesdruckerei
31-
email: paul.bastian@posteo.de
32-
-
33-
fullname: Christian Bormann
34-
organization: SPRIND
35-
email: chris.bormann@gmx.de
24+
25+
- fullname: Tobias Looker
26+
organization: MATTR
27+
email: tobias.looker@mattr.global
28+
- fullname: Paul Bastian
29+
organization: Bundesdruckerei
30+
email: paul.bastian@posteo.de
31+
- fullname: Christian Bormann
32+
organization: SPRIND
33+
email: chris.bormann@gmx.de
3634

3735
normative:
3836
RFC1950: RFC1950
@@ -320,8 +318,7 @@ compressed array (hex): 78dadbb918000217015d
320318

321319
In the following example, the Status List additionally includes the Status Type "SUSPENDED". As the Status Type value for "SUSPENDED" is 0x02 and does not fit into 1 bit, the `bits` is required to be 2. This example illustrates the byte array of a Status List that represents the statuses of 12 Referenced Tokens with a `bits` of 2, requiring 3 bytes (24 bits) for the uncompressed byte array:
322320

323-
~~~ ascii-art
324-
321+
~~~ python
325322
status[0] = 0b01
326323
status[1] = 0b10
327324
status[2] = 0b00
@@ -367,13 +364,13 @@ The following example illustrates the JSON representation of the Status List wit
367364

368365
byte array:
369366

370-
~~~
367+
~~~ python
371368
[0xb9, 0xa3]
372369
~~~
373370

374371
encoded:
375372

376-
~~~json
373+
~~~ json
377374
{
378375
"bits": 1,
379376
"lst": "eNrbuRgAAhcBXQ"
@@ -384,13 +381,13 @@ The following example illustrates the JSON representation of the Status List wit
384381

385382
byte array:
386383

387-
~~~
384+
~~~ python
388385
[0xc9, 0x44, 0xf9]
389386
~~~
390387

391388
encoded:
392389

393-
~~~json
390+
~~~ json
394391
{
395392
"bits": 2,
396393
"lst": "eNo76fITAAPfAgc"
@@ -422,19 +419,19 @@ The following example illustrates the CBOR representation of the Status List in
422419

423420
byte array:
424421

425-
~~~
422+
~~~ python
426423
[0xb9, 0xa3]
427424
~~~
428425

429426
encoded (hex):
430427

431-
~~~hex
428+
~~~ hex
432429
a2646269747301636c73744a78dadbb918000217015d
433430
~~~
434431

435432
The following is the CBOR Annotated Hex output of the example above:
436433

437-
~~~
434+
~~~ cbor-pretty
438435
a2 # map(2)
439436
64 # string(4)
440437
62697473 # "bits"
@@ -481,7 +478,7 @@ The following additional rules apply:
481478

482479
The following is a non-normative example of a Status List Token in JWT format (in the form header.payload):
483480

484-
~~~
481+
~~~ jwt
485482
{
486483
"alg": "ES256",
487484
"kid": "12",
@@ -528,7 +525,7 @@ The following additional rules apply:
528525

529526
The following is a non-normative example of a Status List Token in CWT format in Hex:
530527

531-
~~~hex
528+
~~~ hex
532529
d2845820a2012610781a6170706c69636174696f6e2f7374617475736c6973742b63
533530
7774a1044231325850a502782168747470733a2f2f6578616d706c652e636f6d2f73
534531
74617475736c697374732f31061a648c5bea041a8898dfea19fffe19a8c019fffda2
@@ -539,7 +536,7 @@ d7c982c5e101a5e67f0cbc1e2b6f57ce99c279
539536

540537
The following is the CBOR Annotated Hex output of the example above:
541538

542-
~~~
539+
~~~ cbor-pretty
543540
d2 # tag(18)
544541
84 # array(4)
545542
58 20 # bytes(32)
@@ -588,7 +585,7 @@ Application of additional restrictions and policies are at the discretion of the
588585

589586
The following is a non-normative example of a decoded header and payload of a Referenced Token:
590587

591-
~~~
588+
~~~ jwt
592589
{
593590
"alg": "ES256",
594591
"kid": "11"
@@ -606,7 +603,7 @@ The following is a non-normative example of a decoded header and payload of a Re
606603

607604
The following is a non-normative example of a Referenced Token in SD-JWT serialized form as received from an Issuer:
608605

609-
~~~
606+
~~~ compact-jwt
610607
eyJhbGciOiAiRVMyNTYiLCAidHlwIjogImV4YW1wbGUrc2Qtand0In0.eyJfc2QiOiBb
611608
Ikh2cktYNmZQVjB2OUtfeUNWRkJpTEZIc01heGNEXzExNEVtNlZUOHgxbGciXSwgImlz
612609
cyI6ICJodHRwczovL2V4YW1wbGUuY29tL2lzc3VlciIsICJpYXQiOiAxNjgzMDAwMDAw
@@ -628,7 +625,7 @@ GpFeVc1bTV4NjVfWl8ycm8yamZYTSJdfV0~
628625

629626
The resulting payload of the example above:
630627

631-
~~~json
628+
~~~ json
632629

633630
{
634631
"_sd": [
@@ -665,7 +662,7 @@ Application of additional restrictions and policies are at the discretion of the
665662

666663
The following is a non-normative example of a Referenced Token in CWT format in Hex:
667664

668-
~~~hex
665+
~~~ hex
669666
d28443a10126a1044231325866a502653132333435017368747470733a2f2f657861
670667
6d706c652e636f6d061a648c5bea041a8898dfea19ffffa16b7374617475735f6c69
671668
7374a2636964780063757269782168747470733a2f2f6578616d706c652e636f6d2f
@@ -676,7 +673,7 @@ f84cfedab93d3e4481e938
676673

677674
The following is the CBOR Annotated Hex output of the example above:
678675

679-
~~~
676+
~~~ cbor-pretty
680677
d2 # tag(18)
681678
84 # array(4)
682679
43 # bytes(3)
@@ -743,7 +740,7 @@ The following media types are defined by this specification for HTTP based Conte
743740

744741
The following is a non-normative example of a request for a Status List Token with type `application/statuslist+jwt`:
745742

746-
~~~ ascii-art
743+
~~~ http
747744

748745
GET /statuslists/1 HTTP/1.1
749746
Host: example.com
@@ -772,7 +769,7 @@ If caching-related HTTP headers are present in the HTTP response, Relying Partie
772769

773770
The following is a non-normative example of a response with a Status List Token with type `application/statuslist+jwt`:
774771

775-
~~~ ascii-art
772+
~~~ http
776773

777774
HTTP/1.1 200 OK
778775
Content-Type: application/statuslist+jwt
@@ -819,7 +816,7 @@ If the Server does not support the additional query parameter, it SHOULD return
819816

820817
The following is a non-normative example of a GET request using the `time` query parameter:
821818

822-
~~~ ascii-art
819+
~~~ http
823820

824821
GET /statuslists/1?time=1686925000 HTTP/1.1
825822
Host: example.com
@@ -828,7 +825,7 @@ Accept: application/statuslist+jwt
828825

829826
The following is a non-normative example of a response for the above Request:
830827

831-
~~~ ascii-art
828+
~~~ http
832829

833830
HTTP/1.1 200 OK
834831
Content-Type: application/statuslist+jwt
@@ -894,7 +891,6 @@ The Status List Aggregation URI provides a list of Status List Token URIs. This
894891
The following is a non-normative example for media type `application/json`:
895892

896893
~~~ json
897-
898894
{
899895
"status_lists" : [
900896
"https://example.com/statuslists/1",
@@ -911,7 +907,7 @@ Other specifications MAY choose to re-use this OID for other status mechanisms u
911907

912908
The following OID is defined for usage in the EKU extension:
913909

914-
~~~
910+
~~~ OID
915911
id-kp OBJECT IDENTIFIER ::=
916912
{ iso(1) identified-organization(3) dod(6) internet(1)
917913
security(5) mechanisms(5) pkix(7) kp(3) }
@@ -964,6 +960,7 @@ Alternatively, the Status Issuer may use the same web-based key resolution that
964960
| Status Provider |
965961
+-----------------+
966962
~~~
963+
967964
If the Issuer of the Referenced Token is a different entity than the Status Issuer, then the keys used for the Status List Token may be cryptographically linked, e.g. by a Certificate Authority through an x.509 PKI. The certificate of the Issuer for the Referenced Token and the Status Issuer should be issued by the same Certificate Authority and the Status Issuer's certificate should utilize [extended key usage](#eku).
968965

969966
~~~ ascii-art
@@ -1517,7 +1514,7 @@ for their valuable contributions, discussions and feedback to this specification
15171514

15181515
The following module adheres to ASN.1 specifications {{X.680}} and {{X.690}}. It defines the OID used for OAuth Status Mechanism Key Extended Key Usage.
15191516

1520-
~~~
1517+
~~~ ASN.1
15211518
<CODE BEGINS>
15221519

15231520
OauthStatusSigning-EKU
@@ -1583,7 +1580,7 @@ All values that are not mentioned for the examples below can be assumed to be 0
15831580

15841581
The following example uses a 1-bit Status List (2 possible values):
15851582

1586-
~~~~~~~~~~
1583+
~~~ python
15871584
status[0] = 0b1
15881585
status[1993] = 0b1
15891586
status[25460] = 0b1
@@ -1595,11 +1592,11 @@ status[723232] = 0b1
15951592
status[854545] = 0b1
15961593
status[934534] = 0b1
15971594
status[1000345] = 0b1
1598-
~~~~~~~~~~
1595+
~~~
15991596

16001597
JSON encoding:
16011598

1602-
~~~
1599+
~~~ json
16031600
{
16041601
"bits": 1,
16051602
"lst": "eNrt3AENwCAMAEGogklACtKQPg9LugC9k_ACvreiogE
@@ -1612,7 +1609,7 @@ JSON encoding:
16121609

16131610
CBOR encoding:
16141611

1615-
~~~hex
1612+
~~~ hex
16161613
a2646269747301636c737458bd78daeddc010dc0200c0041a88249400ad2903e0f4b
16171614
ba00bd93f002beb7a2a2010000a91e09000000000000000000000000000000807296
16181615
04000000000000000000000000000000000000000000000000000000000000000000
@@ -1625,7 +1622,7 @@ ba00bd93f002beb7a2a2010000a91e09000000000000000000000000000000807296
16251622

16261623
The following example uses a 2-bit Status List (4 possible values):
16271624

1628-
~~~
1625+
~~~ python
16291626
status[0] = 0b01
16301627
status[1993] = 0b10
16311628
status[25460]= 0b01
@@ -1641,7 +1638,7 @@ status[1000345] = 0b11
16411638

16421639
JSON encoding:
16431640

1644-
~~~
1641+
~~~ json
16451642
{
16461643
"bits": 2,
16471644
"lst": "eNrt2zENACEQAEEuoaBABP5VIO01fCjIHTMStt9ovGV
@@ -1656,7 +1653,7 @@ JSON encoding:
16561653

16571654
CBOR encoding:
16581655

1659-
~~~hex
1656+
~~~ hex
16601657
a2646269747302636c737459013d78daeddb310d00211000412ea1a04004fe5520ed
16611658
357c28c81d3312b6df68bc65480000000000406e2101000000000000000000000000
16621659
0000000000000000000000000000000000000040795b020000000000000000000000
@@ -1673,7 +1670,7 @@ a2646269747302636c737459013d78daeddb310d00211000412ea1a04004fe5520ed
16731670

16741671
The following example uses a 4-bit Status List (16 possible values):
16751672

1676-
~~~
1673+
~~~ python
16771674
status[0] = 0b0001
16781675
status[1993] = 0b0010
16791676
status[35460] = 0b0011
@@ -1693,7 +1690,7 @@ status[1030205] = 0b1111
16931690

16941691
JSON encoding:
16951692

1696-
~~~
1693+
~~~ json
16971694
{
16981695
"bits": 4,
16991696
"lst": "eNrt0EENgDAQADAIHwImkIIEJEwCUpCEBBQRHOy35Li
@@ -1714,7 +1711,7 @@ JSON encoding:
17141711

17151712
CBOR encoding:
17161713

1717-
~~~hex
1714+
~~~ hex
17181715
a2646269747304636c737459024878daedd0410d8030100030081f0226908204244c
17191716
025290840414111cecb7e4b8b5123a0e40669b020000000000000000000000000000
17201717
0020b549010000000000000000000000000000000000000000000000000000000000
@@ -1739,7 +1736,7 @@ c0cf3daf03000000000000000008ec03dc4c04c0
17391736

17401737
The following example uses an 8-bit Status List (256 possible values):
17411738

1742-
~~~
1739+
~~~ python
17431740
status[233478] = 0b00000000
17441741
status[52451] = 0b00000001
17451742
status[576778] = 0b00000010
@@ -2000,7 +1997,7 @@ status[19535] = 0b11111111
20001997

20011998
JSON encoding:
20021999

2003-
~~~
2000+
~~~ json
20042001
{
20052002
"bits": 8,
20062003
"lst": "eNrt0WOQM2kYhtGsbdu2bdu2bdu2bdu2bdu2jVnU1my
@@ -2049,7 +2046,7 @@ JSON encoding:
20492046

20502047
CBOR encoding:
20512048

2052-
~~~
2049+
~~~ hex
20532050
a2646269747308636c73745907b078daedd1639033691886d1ac6ddbb66ddbb66ddb
20542051
b66ddbb66ddbb68d59d4d66cbe496626e94e5e9c53d57fbb9ef7ba2b158028ec2401
20552052
000090bae724000052b6a504000000000000b4deb0120004ef5409000000008af087

0 commit comments

Comments
 (0)