@@ -462,28 +462,14 @@ Version: **1.0 (Draft)**
462
462
, ... ]
463
463
}
464
464
465
- where: ROLE is a dictionary whose "_ type" field describes the role type.
466
- KEYID is the identifier of the key signing the ROLE dictionary.
467
- SIGNATURE is a signature of the canonical JSON form of ROLE.
468
-
469
- The current reference implementation defines two signature schemes,
470
- although TUF is not restricted to any particular signature scheme,
471
- key type, or cryptographic library:
465
+ where:
472
466
473
- "rsassa-pss-sha256" : RSA Probabilistic signature scheme with appendix.
474
- The underlying hash function is SHA256.
475
-
476
- "ed25519" : Elliptic curve digital signature algorithm based on Twisted
477
- Edwards curves.
467
+ ROLE is a dictionary whose "_type" field describes the role type.
478
468
479
- "ecdsa-sha2-nistp256" : Elliptic Curve Digital Signature Algorithm
480
- with NIST P-256 curve signing and SHA-256 hashing.
481
-
482
- rsassa-pss: https://tools.ietf.org/html/rfc3447#page-29
469
+ KEYID is the identifier of the key signing the ROLE dictionary.
483
470
484
- ed25519: https://ed25519.cr.yp.to/
471
+ SIGNATURE is a signature of the canonical JSON form of ROLE.
485
472
486
- ecdsa: https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm
487
473
488
474
All keys have the format:
489
475
@@ -492,29 +478,51 @@ Version: **1.0 (Draft)**
492
478
"keyval" : KEYVAL
493
479
}
494
480
495
- where KEYTYPE is a string describing the type of the key and how it's
496
- used to sign documents. The type determines the interpretation of
497
- KEYVAL.
481
+ where:
482
+
483
+ KEYTYPE is a string denoting a public key signature system, such
484
+ as RSA or ECDSA.
498
485
499
- We define three keytypes below: 'rsa', 'ed25519', and 'ecdsa'. However, TUF
500
- places no restrictions on cryptographic keys. Adopters can use any
501
- particular keytype, signing scheme, and cryptographic library.
486
+ SCHEME is a string denoting a corresponding signature scheme. For
487
+ example: "rsassa-pss-sha256" and "ecdsa-sha2-nistp256".
488
+
489
+ KEYVAL is a dictionary containing the public portion of the key.
490
+
491
+ The reference implementation defines three signature schemes, although TUF
492
+ is not restricted to any particular signature scheme, key type, or
493
+ cryptographic library:
494
+
495
+ "rsassa-pss-sha256" : RSA Probabilistic signature scheme with appendix.
496
+ The underlying hash function is SHA256.
497
+ https://tools.ietf.org/html/rfc3447#page-29
498
+
499
+ "ed25519" : Elliptic curve digital signature algorithm based on Twisted
500
+ Edwards curves.
501
+ https://ed25519.cr.yp.to/
502
+
503
+ "ecdsa-sha2-nistp256" : Elliptic Curve Digital Signature Algorithm
504
+ with NIST P-256 curve signing and SHA-256 hashing.
505
+ https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm
506
+
507
+ We define three keytypes below: 'rsa', 'ed25519', and 'ecdsa', but adopters
508
+ can define and use any particular keytype, signing scheme, and cryptographic
509
+ library.
502
510
503
511
The 'rsa' format is:
504
512
505
513
{ "keytype" : "rsa",
506
514
"scheme" : "rsassa-pss-sha256",
507
- "keyval" : { "public" : PUBLIC}
515
+ "keyval" : {"public" : PUBLIC}
508
516
}
509
517
510
- where PUBLIC is in PEM format and a string. All RSA keys
511
- must be at least 2048 bits.
518
+ where PUBLIC is in PEM format and a string. All RSA keys must be at least
519
+ 2048 bits.
512
520
513
521
The 'ed25519' format is:
514
522
515
523
{ "keytype" : "ed25519",
516
524
"scheme" : "ed25519",
517
- "keyval" : { "public" : PUBLIC}
525
+ "keyval" : {"public" : PUBLIC}
518
526
}
519
527
520
528
where PUBLIC is a 32-byte string.
@@ -523,10 +531,12 @@ Version: **1.0 (Draft)**
523
531
524
532
{ "keytype" : "ecdsa-sha2-nistp256",
525
533
"scheme" : "ecdsa-sha2-nistp256",
526
- "keyval" : { "public" : PUBLIC}
534
+ "keyval" : {"public" : PUBLIC}
527
535
}
528
536
529
- where PUBLIC is in PEM format and a string.
537
+ where:
538
+
539
+ PUBLIC is in PEM format and a string.
530
540
531
541
The KEYID of a key is the hexdigest of the SHA-256 hash of the
532
542
canonical JSON form of the key.
0 commit comments