Type: object

objectA

Type: object
Type: object

Option 1

Type: object
No Additional Properties
Type: array

Unique top level property for Multiple Signatures. (multisignature)

No Additional Items

Each item of this array must be:

Type: object
No Additional Properties

algorithm Required


Algorithm

Type: enum (of string)

Signature algorithm. The currently recognized JWA [RFC7518] and RFC8037 [RFC8037] asymmetric key algorithms. Note: Unlike RFC8037 [RFC8037] JSF requires explicit Ed* algorithm names instead of "EdDSA".

Must be one of:

  • "RS256"
  • "RS384"
  • "RS512"
  • "PS256"
  • "PS384"
  • "PS512"
  • "ES256"
  • "ES384"
  • "ES512"
  • "Ed25519"
  • "Ed448"
  • "HS256"
  • "HS384"
  • "HS512"

Algorithm

Type: string

Signature algorithm. Note: If proprietary signature algorithms are added, they must be expressed as URIs.

Type: string

Optional. Application specific string identifying the signature key.

Type: object

Optional. Public key object.

Requirement 1

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object
No Additional Properties

kty Required

crv Required

Type: enum (of string)

EC curve name.

Must be one of:

  • "P-256"
  • "P-384"
  • "P-521"

x Required

Type: string

EC curve point X. The length of this field must be the full size of a coordinate for the curve specified in the "crv" parameter. For example, if the value of "crv" is "P-521", the decoded argument must be 66 bytes.

y Required

Type: string

EC curve point Y. The length of this field must be the full size of a coordinate for the curve specified in the "crv" parameter. For example, if the value of "crv" is "P-256", the decoded argument must be 32 bytes.

Requirement 2

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object
No Additional Properties

kty Required

crv Required

Type: enum (of string)

EdDSA curve name.

Must be one of:

  • "Ed25519"
  • "Ed448"

x Required

Type: string

EdDSA curve point X. The length of this field must be the full size of a coordinate for the curve specified in the "crv" parameter. For example, if the value of "crv" is "Ed25519", the decoded argument must be 32 bytes.

Requirement 3

Type: object

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object
No Additional Properties

kty Required

n Required

e Required

kty Required

Type: enum (of string)

Key type indicator.

Must be one of:

  • "EC"
  • "OKP"
  • "RSA"

Additional Properties of any type are allowed.

Type: object
Type: array of string

Optional. Sorted array of X.509 [RFC5280] certificates, where the first element must contain the signature certificate. The certificate path must be contiguous but is not required to be complete.

No Additional Items

Each item of this array must be:

Type: array of string

Optional. Array holding the names of one or more application level properties that must be excluded from the signature process. Note that the "excludes" property itself, must also be excluded from the signature process. Since both the "excludes" property and the associated data it points to are unsigned, a conforming JSF implementation must provide options for specifying which properties to accept.

No Additional Items

Each item of this array must be:

value Required

Type: string

The signature data. Note that the binary representation must follow the JWA [RFC7518] specifications.

Option 2

Type: object
No Additional Properties
Type: array

Unique top level property for Signature Chains. (signaturechain)

No Additional Items

Each item of this array must be:

Signature

Type: object

Unique top level property for simple signatures. (signaturecore)

Same definition as Signature

objectB

Type: object