Recommendation ITU-T X.590 (10/2023) JSON signature scheme (JSS)
Summary
History
FOREWORD
Table of Contents
Introduction
1 Scope
2 References
3 Definitions
     3.1 Terms defined elsewhere
     3.2 Terms defined in this Recommendation
4 Abbreviations and acronyms
5 Conventions
6 Signature object
     6.1 Data types
     6.2 JSS signature object properties
          6.2.1 Properties
          6.2.2 Signature algorithm type vocabulary
     6.3 Examples of additional meta-data properties
          6.3.1 Properties
7 Detailed signing operation
     7.1 Signature creation
          7.1.1 Create or parse the JSON object to be signed
          7.1.2 Temporarily remove existing signature
          7.1.3 Create and add signature object
          7.1.4 Create JCS version of entire JSON object
          7.1.5 Create hash of the JCS version
          7.1.6 Sign hash
          7.1.7 Assemble JSON object with signature
     7.2 Countersigned signatures
          7.2.1 Create or parse the JSON object to be signed
          7.2.2 Temporarily remove any existing signatures
          7.2.3 Create and add signature object
          7.2.4 Create JCS version of entire JSON object
          7.2.5 Create hash of the JCS version
          7.2.6 Sign hash
          7.2.7 Assemble JSON object with signature
8 Detailed verification operation
     8.1 Signature validation
          8.1.1 Parse the signed JSON object
          8.1.2 Capture and remove the digital signature
          8.1.3 Parse or fetch the public key
          8.1.4 Canonicalize the JSON object
          8.1.5 Create hash of the JCS version
          8.1.6 Validate the digital signature
9 Security considerations
Appendix I  Open-source implementations
Appendix II  Ed25519 keys for examples
     II.1 Ed25519 public key
     II.2 Ed25519 private key
Appendix III  JSS application notes
     III.1 Countersigned signature example
Bibliography