Skip to content

Global ASN.1 Definitions

Source: global-definitions.json

{
  "$id" : "global-definitions.json",
  "title" : "Global ASN.1 Definitions",
  "$defs" : {
    "ASN1BitString" : {
      "oneOf" : [ {
        "type" : "string",
        "description" : "Hex string or Base64 string."
      }, {
        "type" : "array",
        "items" : {
          "type" : "integer"
        }
      }, {
        "type" : "object",
        "description" : "Binary wrapper object with either base64 or hex.",
        "properties" : {
          "base64" : {
            "type" : "string"
          },
          "hex" : {
            "type" : "string"
          }
        },
        "oneOf" : [ {
          "required" : [ "base64" ]
        }, {
          "required" : [ "hex" ]
        } ],
        "additionalProperties" : false
      } ],
      "description" : "Binary bit string value.",
      "title" : "ASN1BitString"
    },
    "ASN1Boolean" : {
      "oneOf" : [ {
        "type" : "boolean"
      }, {
        "type" : "string",
        "enum" : [ "true", "false" ]
      } ],
      "title" : "ASN1Boolean",
      "description" : "Accepts JSON boolean values (true/false) or their string equivalents (\"true\"/\"false\")."
    },
    "ASN1GeneralizedTime" : {
      "type" : "string",
      "format" : "date-time",
      "title" : "ASN1GeneralizedTime",
      "description" : "Accepts a date string format."
    },
    "ASN1IA5String" : {
      "oneOf" : [ {
        "type" : "string"
      }, {
        "type" : "object",
        "properties" : {
          "string" : {
            "type" : "string"
          }
        },
        "required" : [ "string" ],
        "additionalProperties" : false
      } ],
      "title" : "ASN1IA5String",
      "description" : "Accepts a simple string or a JSON object with a \"string\" property."
    },
    "ASN1Integer" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "description" : "Decimal string, or a binary value expressed as hex/base64."
      }, {
        "type" : "array",
        "items" : {
          "type" : "integer"
        }
      }, {
        "type" : "object",
        "description" : "Binary wrapper object with either base64 or hex.",
        "properties" : {
          "base64" : {
            "type" : "string"
          },
          "hex" : {
            "type" : "string"
          }
        },
        "oneOf" : [ {
          "required" : [ "base64" ]
        }, {
          "required" : [ "hex" ]
        } ],
        "additionalProperties" : false
      } ],
      "title" : "ASN1Integer",
      "description" : "Accepts standard JSON numbers (int, long, big integer), decimal strings, or specialized binary formats (Hex/Base64)."
    },
    "ASN1Object" : {
      "type" : "object"
    },
    "ASN1ObjectIdentifier" : {
      "oneOf" : [ {
        "type" : "string"
      }, {
        "type" : "object",
        "properties" : {
          "oid" : {
            "type" : "string"
          }
        },
        "required" : [ "oid" ],
        "additionalProperties" : false
      } ],
      "title" : "ASN1ObjectIdentifier",
      "description" : "Supports multiple formats: 1) A simple OID string (e.g., \"1.2.3\"). 2) A JSON object with an \"oid\" property."
    },
    "ASN1ObjectTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(ASN1ObjectTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/ASN1Object",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "ASN1OctetString" : {
      "oneOf" : [ {
        "type" : "string",
        "description" : "Hex string or Base64 string."
      }, {
        "type" : "array",
        "items" : {
          "type" : "integer"
        }
      }, {
        "type" : "object",
        "description" : "Binary wrapper object with either base64 or hex.",
        "properties" : {
          "base64" : {
            "type" : "string"
          },
          "hex" : {
            "type" : "string"
          }
        },
        "oneOf" : [ {
          "required" : [ "base64" ]
        }, {
          "required" : [ "hex" ]
        } ],
        "additionalProperties" : false
      } ],
      "description" : "Binary octet string value.",
      "title" : "ASN1OctetString"
    },
    "ASN1PrintableString" : {
      "type" : "object"
    },
    "ASN1UTF8String" : {
      "oneOf" : [ {
        "type" : "string"
      }, {
        "type" : "object",
        "properties" : {
          "string" : {
            "type" : "string"
          }
        },
        "required" : [ "string" ],
        "additionalProperties" : false
      } ],
      "title" : "ASN1UTF8String",
      "description" : "Accepts a simple string or a JSON object with a \"string\" property."
    },
    "AlgorithmIdentifier" : {
      "oneOf" : [ {
        "description" : "Algorithm OID string or { oid } object.",
        "$ref" : "#/$defs/ASN1ObjectIdentifier"
      }, {
        "type" : "object",
        "properties" : {
          "algorithm" : {
            "description" : "Algorithm OID.",
            "$ref" : "#/$defs/ASN1ObjectIdentifier"
          },
          "parameters" : {
            "description" : "Optional DER parameters encoded as hex/base64.",
            "$ref" : "#/$defs/ASN1OctetString"
          }
        },
        "required" : [ "algorithm" ],
        "additionalProperties" : false
      } ],
      "title" : "AlgorithmIdentifier",
      "description" : "Supports multiple formats: 1) A simple OID string (representing the algorithm). 2) A JSON object with \"algorithm\" (OID string) and optional \"parameters\" (Hex/Base64 string)."
    },
    "AttributeStatus" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "added", "modified", "removed" ]
      }, {
        "type" : "object",
        "properties" : {
          "status" : {
            "oneOf" : [ {
              "type" : "string",
              "enum" : [ "added", "modified", "removed" ]
            }, {
              "type" : "integer"
            } ]
          },
          "traitValue" : {
            "oneOf" : [ {
              "type" : "string",
              "enum" : [ "added", "modified", "removed" ]
            }, {
              "type" : "integer"
            } ]
          }
        },
        "minProperties" : 1
      } ],
      "title" : "AttributeStatus",
      "description" : "**Usage / Options:**\nAccepts one of the following as a name string or integer value: `added` (0), `modified` (1), `removed` (2).\n\n**Supported JSON Aliases:** `status`, `traitValue`."
    },
    "BooleanTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(BooleanTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/ASN1Boolean",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "CertificateIdentifier" : {
      "type" : "object",
      "properties" : {
        "genericCertIdentifier" : {
          "$ref" : "#/$defs/IssuerSerial",
          "description" : "Issuer/serial form of certificate identification."
        },
        "hashedCertIdentifier" : {
          "$ref" : "#/$defs/HashedCertificateIdentifier",
          "description" : "Hashed certificate identifier form."
        }
      },
      "description" : "Certificate identifier containing either a hashed certificate reference, an issuer/serial reference, or both."
    },
    "CertificateIdentifierTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(CertificateIdentifierTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/CertificateIdentifier",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "Class(ASN1ObjectTrait)" : {
      "type" : "object"
    },
    "Class(BooleanTrait)" : {
      "type" : "object"
    },
    "Class(CertificateIdentifierTrait)" : {
      "type" : "object"
    },
    "Class(CommonCriteriaTrait)" : {
      "type" : "object"
    },
    "Class(ComponentClassTrait)" : {
      "type" : "object"
    },
    "Class(ComponentIdentifierV11Trait)" : {
      "type" : "object"
    },
    "Class(CountryOfOriginTrait)" : {
      "type" : "object"
    },
    "Class(EntityGeoLocationTrait)" : {
      "type" : "object"
    },
    "Class(FIPSLevelTrait)" : {
      "type" : "object"
    },
    "Class(IA5StringTrait)" : {
      "type" : "object"
    },
    "Class(ISO9000Trait)" : {
      "type" : "object"
    },
    "Class(NetworkMACTrait)" : {
      "type" : "object"
    },
    "Class(OIDTrait)" : {
      "type" : "object"
    },
    "Class(PEMCertStringTrait)" : {
      "type" : "object"
    },
    "Class(PENTrait)" : {
      "type" : "object"
    },
    "Class(PlatformFirmwareCapabilitiesTrait)" : {
      "type" : "object"
    },
    "Class(PlatformFirmwareSignatureVerificationTrait)" : {
      "type" : "object"
    },
    "Class(PlatformFirmwareUpdateComplianceTrait)" : {
      "type" : "object"
    },
    "Class(PlatformHardwareCapabilitiesTrait)" : {
      "type" : "object"
    },
    "Class(PublicKeyTrait)" : {
      "type" : "object"
    },
    "Class(RTMTrait)" : {
      "type" : "object"
    },
    "Class(StatusTrait)" : {
      "type" : "object"
    },
    "Class(URITrait)" : {
      "type" : "object"
    },
    "Class(UTF8StringTrait)" : {
      "type" : "object"
    },
    "CommonCriteriaEvaluation" : {
      "type" : "object",
      "properties" : {
        "cCCertificateAuthority" : {
          "$ref" : "#/$defs/ASN1UTF8String"
        },
        "cCCertificateExpiryDate" : {
          "$ref" : "#/$defs/ASN1GeneralizedTime"
        },
        "cCCertificateIssuanceDate" : {
          "$ref" : "#/$defs/ASN1GeneralizedTime"
        },
        "cCCertificateNumber" : {
          "$ref" : "#/$defs/ASN1UTF8String"
        },
        "commonCriteriaMeasures" : {
          "$ref" : "#/$defs/CommonCriteriaMeasures"
        },
        "evaluationScheme" : {
          "$ref" : "#/$defs/ASN1UTF8String"
        }
      },
      "required" : [ "cCCertificateAuthority", "cCCertificateNumber", "commonCriteriaMeasures" ]
    },
    "CommonCriteriaMeasures" : {
      "type" : "object",
      "properties" : {
        "assuranceLevel" : {
          "$ref" : "#/$defs/EvaluationAssuranceLevel",
          "description" : "Evaluation assurance level."
        },
        "evaluationStatus" : {
          "$ref" : "#/$defs/EvaluationStatus",
          "description" : "Overall evaluation status."
        },
        "plus" : {
          "$ref" : "#/$defs/ASN1Boolean",
          "description" : "Whether the assurance level includes a '+' augmentation.",
          "default" : false
        },
        "profileOid" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "Optional protection profile OID."
        },
        "profileUri" : {
          "$ref" : "#/$defs/URIReference",
          "description" : "Optional URI for the protection profile."
        },
        "strengthOfFunction" : {
          "$ref" : "#/$defs/StrengthOfFunction",
          "description" : "Optional strength of function statement."
        },
        "targetOid" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "Optional target OID."
        },
        "targetUri" : {
          "$ref" : "#/$defs/URIReference",
          "description" : "Optional URI for the evaluation target."
        },
        "version" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Common Criteria version string, for example 2.2 or 3.1."
        }
      },
      "required" : [ "assuranceLevel", "evaluationStatus", "version" ],
      "description" : "Common Criteria evaluation details, including assurance level, evaluation status, and optional profile or target references."
    },
    "CommonCriteriaTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(CommonCriteriaTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/CommonCriteriaEvaluation",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "ComponentAddress" : {
      "description" : "Accepts either the addressType/addressValue form or a shorthand single-property object keyed by ComponentAddressType.",
      "oneOf" : [ {
        "type" : "object",
        "description" : "Canonical form: provide both addressType and addressValue.",
        "properties" : {
          "addressType" : {
            "description" : "Address type OID.",
            "$ref" : "#/$defs/ASN1ObjectIdentifier"
          },
          "addressValue" : {
            "type" : "string",
            "description" : "Address value, such as a MAC address string."
          }
        },
        "required" : [ "addressType", "addressValue" ],
        "additionalProperties" : false
      }, {
        "type" : "object",
        "description" : "Shorthand form: a single property where the property name is the ComponentAddressType enum name and the value is the address string.",
        "properties" : {
          "ETHERNETMAC" : {
            "type" : "string",
            "description" : "Address value for ETHERNETMAC."
          },
          "WLANMAC" : {
            "type" : "string",
            "description" : "Address value for WLANMAC."
          },
          "BLUETOOTHMAC" : {
            "type" : "string",
            "description" : "Address value for BLUETOOTHMAC."
          }
        },
        "minProperties" : 1,
        "maxProperties" : 1,
        "additionalProperties" : false
      } ]
    },
    "ComponentClass" : {
      "type" : "object",
      "properties" : {
        "componentClassRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier"
        },
        "componentClassValue" : {
          "$ref" : "#/$defs/ASN1OctetString"
        }
      },
      "required" : [ "componentClassRegistry", "componentClassValue" ]
    },
    "ComponentClassTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(ComponentClassTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/ASN1OctetString",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "ComponentIdentifierV11Trait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(ComponentIdentifierV11Trait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/ComponentIdentifierV2",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "ComponentIdentifierV2" : {
      "type" : "object",
      "properties" : {
        "addresses" : {
          "minItems" : 1,
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/ComponentAddress"
          }
        },
        "componentClass" : {
          "$ref" : "#/$defs/ComponentClass"
        },
        "fieldReplaceable" : {
          "$ref" : "#/$defs/ASN1Boolean"
        },
        "manufacturer" : {
          "$ref" : "#/$defs/ASN1UTF8String"
        },
        "manufacturerId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier"
        },
        "model" : {
          "$ref" : "#/$defs/ASN1UTF8String"
        },
        "platformCert" : {
          "$ref" : "#/$defs/CertificateIdentifier"
        },
        "platformCertUri" : {
          "$ref" : "#/$defs/URIReference"
        },
        "revision" : {
          "$ref" : "#/$defs/ASN1UTF8String"
        },
        "serial" : {
          "$ref" : "#/$defs/ASN1UTF8String"
        },
        "status" : {
          "$ref" : "#/$defs/AttributeStatus"
        }
      },
      "required" : [ "componentClass", "manufacturer", "model" ]
    },
    "CountryOfOriginTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(CountryOfOriginTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/OriginComposition",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "EKCertificateGenerationLocation" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "tpmManufacturer", "platformManufacturer", "ekCertSigner" ]
      } ],
      "title" : "EKCertificateGenerationLocation",
      "description" : "**Usage / Options:**\nAccepts one of the following as a name string or integer value: `tpmManufacturer` (0), `platformManufacturer` (1), `ekCertSigner` (2)."
    },
    "EKGenerationLocation" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "tpmManufacturer", "platformManufacturer", "ekCertSigner" ]
      } ],
      "title" : "EKGenerationLocation",
      "description" : "**Usage / Options:**\nAccepts one of the following as a name string or integer value: `tpmManufacturer` (0), `platformManufacturer` (1), `ekCertSigner` (2)."
    },
    "EKGenerationType" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "internal", "injected", "internalRevocable", "injectedRevocable" ]
      } ],
      "title" : "EKGenerationType",
      "description" : "**Usage / Options:**\nAccepts one of the following as a name string or integer value: `internal` (0), `injected` (1), `internalRevocable` (2), `injectedRevocable` (3)."
    },
    "EntityGeoLocation" : {
      "type" : "object",
      "properties" : {
        "countryCode" : {
          "$ref" : "#/$defs/ASN1PrintableString"
        },
        "localityName" : {
          "$ref" : "#/$defs/ASN1UTF8String"
        },
        "locationCoords" : {
          "$ref" : "#/$defs/ASN1PrintableString"
        },
        "postalCode" : {
          "$ref" : "#/$defs/ASN1UTF8String"
        },
        "stateOrProvince" : {
          "$ref" : "#/$defs/ASN1PrintableString"
        },
        "streetAddress" : {
          "$ref" : "#/$defs/ASN1UTF8String"
        }
      },
      "required" : [ "countryCode" ]
    },
    "EntityGeoLocationTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(EntityGeoLocationTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/EntityGeoLocation",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "EvaluationAssuranceLevel" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "level1", "level2", "level3", "level4", "level5", "level6", "level7" ]
      } ],
      "title" : "EvaluationAssuranceLevel",
      "description" : "**Usage / Options:**\nAccepts one of the following as a name string or integer value: `level1` (1), `level2` (2), `level3` (3), `level4` (4), `level5` (5), `level6` (6), `level7` (7)."
    },
    "EvaluationStatus" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "designedToMeet", "evaluationInProgress", "evaluationCompleted" ]
      } ],
      "title" : "EvaluationStatus",
      "description" : "**Usage / Options:**\nAccepts one of the following as a name string or integer value: `designedToMeet` (0), `evaluationInProgress` (1), `evaluationCompleted` (2)."
    },
    "FIPSLevel" : {
      "type" : "object",
      "properties" : {
        "level" : {
          "$ref" : "#/$defs/SecurityLevel"
        },
        "plus" : {
          "$ref" : "#/$defs/ASN1Boolean"
        },
        "version" : {
          "$ref" : "#/$defs/ASN1IA5String"
        }
      },
      "required" : [ "level", "version" ]
    },
    "FIPSLevelTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(FIPSLevelTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/FIPSLevel",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "GeneralName" : {
      "type" : "object"
    },
    "GeneralNames" : {
      "type" : "object",
      "properties" : {
        "names" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/GeneralName"
          }
        }
      }
    },
    "HashedCertificateIdentifier" : {
      "type" : "object",
      "properties" : {
        "hash" : {
          "$ref" : "#/$defs/ASN1OctetString"
        },
        "hashAlgorithm" : {
          "$ref" : "#/$defs/AlgorithmIdentifier"
        }
      },
      "required" : [ "hash", "hashAlgorithm" ]
    },
    "IA5StringTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(IA5StringTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "ISO9000Certification" : {
      "type" : "object",
      "properties" : {
        "iso9000Certified" : {
          "$ref" : "#/$defs/ASN1Boolean"
        },
        "iso9000Uri" : {
          "$ref" : "#/$defs/ASN1IA5String"
        }
      },
      "required" : [ "iso9000Certified" ]
    },
    "ISO9000Trait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(ISO9000Trait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/ISO9000Certification",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "IssuerSerial" : {
      "type" : "object",
      "properties" : {
        "issuer" : {
          "$ref" : "#/$defs/GeneralNames"
        },
        "issuerUID" : {
          "$ref" : "#/$defs/ASN1BitString"
        },
        "serial" : {
          "$ref" : "#/$defs/ASN1Integer"
        }
      }
    },
    "MeasurementRootType" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "Static", "dynamic", "nonHost", "hybrid", "physical", "virtual" ]
      } ],
      "title" : "MeasurementRootType",
      "description" : "**Usage / Options:**\nAccepts one of the following as a name string or integer value: `Static` (0), `dynamic` (1), `nonHost` (2), `hybrid` (3), `physical` (4), `virtual` (5)."
    },
    "NetworkMACTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(NetworkMACTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/ComponentAddress",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "OIDTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(OIDTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "OriginComposition" : {
      "type" : "object",
      "properties" : {
        "hasComponents" : {
          "$ref" : "#/$defs/ASN1Boolean"
        },
        "location" : {
          "$ref" : "#/$defs/EntityGeoLocation"
        }
      },
      "required" : [ "hasComponents", "location" ]
    },
    "PEMCertStringTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(PEMCertStringTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "PENTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(PENTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "PlatformFirmwareCapabilities" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "fwSetupAuthLocal", "fwSetupAuthRemote", "sMMProtection", "fwKernelDMAProtection" ]
      }, {
        "type" : "object",
        "properties" : {
          "values" : {
            "type" : "array",
            "items" : {
              "oneOf" : [ {
                "type" : "string",
                "enum" : [ "fwSetupAuthLocal", "fwSetupAuthRemote", "sMMProtection", "fwKernelDMAProtection" ]
              }, {
                "type" : "integer"
              } ]
            }
          },
          "traitValue" : {
            "oneOf" : [ {
              "type" : "string",
              "enum" : [ "fwSetupAuthLocal", "fwSetupAuthRemote", "sMMProtection", "fwKernelDMAProtection" ]
            }, {
              "type" : "integer"
            } ]
          }
        }
      } ],
      "title" : "PlatformFirmwareCapabilities",
      "description" : "**Usage / Options:**\nAccepts an integer bitmask, or an object with a `\"values\"` array containing name strings or integers: `fwSetupAuthLocal` (0), `fwSetupAuthRemote` (1), `sMMProtection` (2), `fwKernelDMAProtection` (3).\n\n**Supported JSON Aliases:** `traitValue`."
    },
    "PlatformFirmwareCapabilitiesTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(PlatformFirmwareCapabilitiesTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/PlatformFirmwareCapabilities",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "PlatformFirmwareSignatureVerification" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "hardwareSRTM", "secureBoot" ]
      }, {
        "type" : "object",
        "properties" : {
          "values" : {
            "type" : "array",
            "items" : {
              "oneOf" : [ {
                "type" : "string",
                "enum" : [ "hardwareSRTM", "secureBoot" ]
              }, {
                "type" : "integer"
              } ]
            }
          }
        }
      } ],
      "title" : "PlatformFirmwareSignatureVerification",
      "description" : "**Usage / Options:**\nAccepts an integer bitmask, or an object with a `\"values\"` array containing name strings or integers: `hardwareSRTM` (0), `secureBoot` (1)."
    },
    "PlatformFirmwareSignatureVerificationTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(PlatformFirmwareSignatureVerificationTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/PlatformFirmwareSignatureVerification",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "PlatformFirmwareUpdateCompliance" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "sp800_147", "sp800_147B", "sp800_193" ]
      }, {
        "type" : "object",
        "properties" : {
          "values" : {
            "type" : "array",
            "items" : {
              "oneOf" : [ {
                "type" : "string",
                "enum" : [ "sp800_147", "sp800_147B", "sp800_193" ]
              }, {
                "type" : "integer"
              } ]
            }
          }
        }
      } ],
      "title" : "PlatformFirmwareUpdateCompliance",
      "description" : "**Usage / Options:**\nAccepts an integer bitmask, or an object with a `\"values\"` array containing name strings or integers: `sp800_147` (0), `sp800_147B` (1), `sp800_193` (2)."
    },
    "PlatformFirmwareUpdateComplianceTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(PlatformFirmwareUpdateComplianceTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/PlatformFirmwareUpdateCompliance",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "PlatformHardwareCapabilities" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "iOMMUSupport", "trustedExecutionEnvironment", "physicalTamperProtection", "physicalTamperDetection", "firmwareFlashWP", "externalDMASupport" ]
      }, {
        "type" : "object",
        "properties" : {
          "values" : {
            "type" : "array",
            "items" : {
              "oneOf" : [ {
                "type" : "string",
                "enum" : [ "iOMMUSupport", "trustedExecutionEnvironment", "physicalTamperProtection", "physicalTamperDetection", "firmwareFlashWP", "externalDMASupport" ]
              }, {
                "type" : "integer"
              } ]
            }
          }
        }
      } ],
      "title" : "PlatformHardwareCapabilities",
      "description" : "**Usage / Options:**\nAccepts an integer bitmask, or an object with a `\"values\"` array containing name strings or integers: `iOMMUSupport` (0), `trustedExecutionEnvironment` (1), `physicalTamperProtection` (2), `physicalTamperDetection` (3), `firmwareFlashWP` (4), `externalDMASupport` (5)."
    },
    "PlatformHardwareCapabilitiesTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(PlatformHardwareCapabilitiesTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/PlatformHardwareCapabilities",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "PublicKeyTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(PublicKeyTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/SubjectPublicKeyInfo",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "RTMTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(RTMTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/RTMTypes",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "RTMTypes" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "Static", "dynamic", "nonHost", "virtual", "hardwareStatic", "bMC" ]
      }, {
        "type" : "object",
        "properties" : {
          "values" : {
            "type" : "array",
            "items" : {
              "oneOf" : [ {
                "type" : "string",
                "enum" : [ "Static", "dynamic", "nonHost", "virtual", "hardwareStatic", "bMC" ]
              }, {
                "type" : "integer"
              } ]
            }
          }
        }
      } ],
      "title" : "RTMTypes",
      "description" : "**Usage / Options:**\nAccepts an integer bitmask, or an object with a `\"values\"` array containing name strings or integers: `Static` (0), `dynamic` (1), `nonHost` (2), `virtual` (3), `hardwareStatic` (4), `bMC` (5)."
    },
    "SecurityLevel" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "level1", "level2", "level3", "level4" ]
      } ],
      "title" : "SecurityLevel",
      "description" : "**Usage / Options:**\nAccepts one of the following as a name string or integer value: `level1` (1), `level2` (2), `level3` (3), `level4` (4)."
    },
    "StatusTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(StatusTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/AttributeStatus",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "StrengthOfFunction" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string",
        "enum" : [ "basic", "medium", "high" ]
      } ],
      "title" : "StrengthOfFunction",
      "description" : "**Usage / Options:**\nAccepts one of the following as a name string or integer value: `basic` (0), `medium` (1), `high` (2)."
    },
    "SubjectPublicKeyInfo" : {
      "type" : "object"
    },
    "TBBSecurityAssertions" : {
      "type" : "object",
      "properties" : {
        "ccInfo" : {
          "$ref" : "#/$defs/CommonCriteriaMeasures",
          "description" : "Optional Common Criteria assertions."
        },
        "fipsLevel" : {
          "$ref" : "#/$defs/FIPSLevel",
          "description" : "Optional FIPS level statement."
        },
        "iso9000Certified" : {
          "$ref" : "#/$defs/ASN1Boolean",
          "description" : "Whether ISO 9000 certification is asserted. Defaults to false.",
          "default" : false
        },
        "iso9000Uri" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI providing ISO 9000 certification details."
        },
        "rtmType" : {
          "$ref" : "#/$defs/MeasurementRootType",
          "description" : "Optional measurement root type."
        },
        "version" : {
          "$ref" : "#/$defs/ASN1Integer",
          "description" : "Assertion version. Defaults to 1."
        }
      },
      "description" : "Security assertions associated with the trusted building block, including CC, FIPS, RTM, and ISO 9000 statements."
    },
    "TCGPlatformSpecification" : {
      "type" : "object",
      "properties" : {
        "platformClass" : {
          "$ref" : "#/$defs/ASN1OctetString",
          "description" : "Four-octet platform class value."
        },
        "version" : {
          "$ref" : "#/$defs/TCGSpecificationVersion",
          "description" : "TCG specification version."
        }
      },
      "required" : [ "platformClass", "version" ],
      "description" : "TCG platform specification identifier with version and four-octet platform class."
    },
    "TCGSpecificationVersion" : {
      "type" : "object",
      "properties" : {
        "majorVersion" : {
          "$ref" : "#/$defs/ASN1Integer",
          "description" : "Major version number."
        },
        "minorVersion" : {
          "$ref" : "#/$defs/ASN1Integer",
          "description" : "Minor version number."
        },
        "revision" : {
          "$ref" : "#/$defs/ASN1Integer",
          "description" : "Revision number."
        }
      },
      "required" : [ "majorVersion", "minorVersion", "revision" ],
      "description" : "Three-part version number consisting of major, minor, and revision integers."
    },
    "TCPASpecVersion" : {
      "type" : "object",
      "properties" : {
        "major" : {
          "$ref" : "#/$defs/ASN1Integer"
        },
        "minor" : {
          "$ref" : "#/$defs/ASN1Integer"
        }
      },
      "required" : [ "major", "minor" ]
    },
    "TPMSecurityAssertions" : {
      "type" : "object",
      "properties" : {
        "ccInfo" : {
          "$ref" : "#/$defs/CommonCriteriaMeasures"
        },
        "ekCertificateGenerationLocation" : {
          "$ref" : "#/$defs/EKCertificateGenerationLocation"
        },
        "ekGenerationLocation" : {
          "$ref" : "#/$defs/EKGenerationLocation"
        },
        "ekGenerationType" : {
          "$ref" : "#/$defs/EKGenerationType"
        },
        "fieldUpgradable" : {
          "$ref" : "#/$defs/ASN1Boolean"
        },
        "fipsLevel" : {
          "$ref" : "#/$defs/FIPSLevel"
        },
        "iso9000Certified" : {
          "$ref" : "#/$defs/ASN1Boolean"
        },
        "iso9000Uri" : {
          "$ref" : "#/$defs/ASN1IA5String"
        },
        "version" : {
          "$ref" : "#/$defs/ASN1Integer"
        }
      },
      "required" : [ "fieldUpgradable", "iso9000Certified", "version" ]
    },
    "TPMSpecification" : {
      "type" : "object",
      "properties" : {
        "family" : {
          "$ref" : "#/$defs/ASN1UTF8String"
        },
        "level" : {
          "$ref" : "#/$defs/ASN1Integer"
        },
        "revision" : {
          "$ref" : "#/$defs/ASN1Integer"
        }
      },
      "required" : [ "family", "level", "revision" ]
    },
    "TraitMap" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "traitId" : {
            "description" : "OID Specifies the traitValue encoding",
            "$ref" : "#/$defs/ASN1ObjectIdentifier"
          },
          "traitCategory" : {
            "description" : "OID Identifies the information category contained in traitValue",
            "$ref" : "#/$defs/ASN1ObjectIdentifier"
          },
          "traitRegistry" : {
            "description" : "OID Identifies the registry used to match against the traitValue",
            "$ref" : "#/$defs/ASN1ObjectIdentifier"
          },
          "description" : {
            "description" : "Optional description.",
            "$ref" : "#/$defs/ASN1UTF8String"
          },
          "descriptionURI" : {
            "description" : "Optional URI for a description.",
            "$ref" : "#/$defs/ASN1IA5String"
          },
          "traitValue" : {
            "description" : "Generic DER-encoded octet string given meaning by context information. paccor attempts to resolve the data to a specific type using trait metadata."
          },
          "utf8String" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/UTF8StringTrait"
          },
          "platformFirmwareCapabilities" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PlatformFirmwareCapabilitiesTrait"
          },
          "publicKey" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PublicKeyTrait"
          },
          "ia5StringTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/IA5StringTrait"
          },
          "fipsLevelTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/FIPSLevelTrait"
          },
          "componentIdentifierV11" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/ComponentIdentifierV11Trait"
          },
          "penTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PENTrait"
          },
          "asn1" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/ASN1ObjectTrait"
          },
          "pen" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PENTrait"
          },
          "pem" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PEMCertStringTrait"
          },
          "componentClassTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/ComponentClassTrait"
          },
          "ia5" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/IA5StringTrait"
          },
          "certificateIdentifierTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/CertificateIdentifierTrait"
          },
          "asn1ObjectTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/ASN1ObjectTrait"
          },
          "componentIdentifierV11Trait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/ComponentIdentifierV11Trait"
          },
          "platformFirmwareUpdateCompliance" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PlatformFirmwareUpdateComplianceTrait"
          },
          "platformFirmwareUpdateComplianceTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PlatformFirmwareUpdateComplianceTrait"
          },
          "entGeoLocation" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/EntityGeoLocationTrait"
          },
          "booleanTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/BooleanTrait"
          },
          "booleanValue" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/BooleanTrait"
          },
          "platformFirmwareSignatureVerification" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PlatformFirmwareSignatureVerificationTrait"
          },
          "iso9000" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/ISO9000Trait"
          },
          "networkMAC" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/NetworkMACTrait"
          },
          "status" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/StatusTrait"
          },
          "rTMTypes" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/RTMTrait"
          },
          "networkMACTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/NetworkMACTrait"
          },
          "bool" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/BooleanTrait"
          },
          "ia5String" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/IA5StringTrait"
          },
          "utf8" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/UTF8StringTrait"
          },
          "commonCriteriaTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/CommonCriteriaTrait"
          },
          "platformHardwareCapabilities" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PlatformHardwareCapabilitiesTrait"
          },
          "oid" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/OIDTrait"
          },
          "uriReference" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/URITrait"
          },
          "utf8StringTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/UTF8StringTrait"
          },
          "countryOfOriginTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/CountryOfOriginTrait"
          },
          "platformFirmwareSignatureVerificationTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PlatformFirmwareSignatureVerificationTrait"
          },
          "iso9000Trait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/ISO9000Trait"
          },
          "certificateIdentifier" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/CertificateIdentifierTrait"
          },
          "platformFirmwareCapabilitiesTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PlatformFirmwareCapabilitiesTrait"
          },
          "publicKeyTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PublicKeyTrait"
          },
          "componentClass" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/ComponentClassTrait"
          },
          "commonCriteria" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/CommonCriteriaTrait"
          },
          "rTMTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/RTMTrait"
          },
          "rTM" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/RTMTrait"
          },
          "componentClassValue" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/ComponentClassTrait"
          },
          "fipsLevel" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/FIPSLevelTrait"
          },
          "uri" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/URITrait"
          },
          "oidTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/OIDTrait"
          },
          "entGeoLocationTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/EntityGeoLocationTrait"
          },
          "attributeStatus" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/StatusTrait"
          },
          "boolean" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/BooleanTrait"
          },
          "uriTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/URITrait"
          },
          "platformHardwareCapabilitiesTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PlatformHardwareCapabilitiesTrait"
          },
          "pemTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/PEMCertStringTrait"
          },
          "statusTrait" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/StatusTrait"
          },
          "countryOfOrigin" : {
            "description" : "Click the reference to see JSON format. It should be similar to the spec.",
            "$ref" : "#/$defs/CountryOfOriginTrait"
          }
        },
        "required" : [ "traitId", "traitCategory", "traitRegistry", "traitValue" ]
      },
      "title" : "TraitMap",
      "description" : "Collection of Trait entries. Stored in a map to group traits by type."
    },
    "URIReference" : {
      "type" : "object",
      "properties" : {
        "hashAlgorithm" : {
          "$ref" : "#/$defs/AlgorithmIdentifier",
          "description" : "Optional hash algorithm for the referenced content."
        },
        "hashValue" : {
          "$ref" : "#/$defs/ASN1BitString",
          "description" : "Optional hash value for the referenced content."
        },
        "uniformResourceIdentifier" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "URI being referenced."
        }
      },
      "required" : [ "uniformResourceIdentifier" ],
      "description" : "Reference to a URI with optional hash metadata for integrity checking."
    },
    "URITrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(URITrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/URIReference",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "UTF8StringTrait" : {
      "type" : "object",
      "properties" : {
        "description" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Optional human-readable description."
        },
        "descriptionURI" : {
          "$ref" : "#/$defs/ASN1IA5String",
          "description" : "Optional URI pointing to external descriptive content."
        },
        "traitCategory" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the information category represented by this trait."
        },
        "traitId" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID that identifies the trait type and expected traitValue encoding."
        },
        "traitRegistry" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier",
          "description" : "OID identifying the registry used for interpreting the trait value."
        },
        "traitType" : {
          "$ref" : "#/$defs/Class(UTF8StringTrait)",
          "description" : "Concrete trait implementation type used internally for trait instantiation."
        },
        "traitValue" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Trait value. In JSON this may also be supplied through a trait-specific alias property instead of traitValue."
        }
      },
      "required" : [ "traitCategory", "traitId", "traitRegistry", "traitValue" ]
    },
    "ASN1Sequence" : {
      "type" : "object"
    },
    "AuthorityInformationAccess" : {
      "type" : "object"
    },
    "CRLDistPoint" : {
      "type" : "object"
    },
    "CertificatePolicies" : {
      "type" : "object",
      "properties" : {
        "policyInformation" : {
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/PolicyInformation"
          }
        }
      }
    },
    "KeyUsage" : {
      "oneOf" : [ {
        "type" : "integer"
      }, {
        "type" : "string"
      }, {
        "type" : "array",
        "items" : {
          "oneOf" : [ {
            "type" : "string"
          }, {
            "type" : "integer"
          } ]
        }
      } ],
      "title" : "KeyUsage",
      "description" : "Supports multiple formats: 1) An integer bitmask. 2) A hex string. 3) A name string (e.g., \"digitalSignature\"). 4) An array of these formats."
    },
    "PolicyInformation" : {
      "type" : "object",
      "properties" : {
        "policyIdentifier" : {
          "$ref" : "#/$defs/ASN1ObjectIdentifier"
        },
        "policyQualifiers" : {
          "$ref" : "#/$defs/ASN1Sequence"
        }
      }
    },
    "TargetInformation" : {
      "type" : "object"
    },
    "PlatformPropertiesV2" : {
      "type" : "object",
      "properties" : {
        "propertyName" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Property name."
        },
        "propertyStatus" : {
          "$ref" : "#/$defs/AttributeStatus",
          "description" : "Optional attribute status indicating whether the property was added, modified, or removed."
        },
        "propertyValue" : {
          "$ref" : "#/$defs/ASN1UTF8String",
          "description" : "Property value."
        }
      },
      "required" : [ "propertyName", "propertyValue" ],
      "description" : "Single platform property entry with name, value, and optional change status."
    },
    "PlatformConfigurationV2" : {
      "$schema" : "https://json-schema.org/draft/2020-12/schema",
      "type" : "object",
      "properties" : {
        "components" : {
          "description" : "Platform components in the legacy v1.1 component identifier form.",
          "minItems" : 1,
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/ComponentIdentifierV2",
            "description" : "Platform components in the legacy v1.1 component identifier form."
          }
        },
        "componentsUri" : {
          "$ref" : "#/$defs/URIReference",
          "description" : "Optional URI reference for externally hosted component identifiers."
        },
        "properties" : {
          "description" : "Platform properties.",
          "minItems" : 1,
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/PlatformPropertiesV2",
            "description" : "Platform properties."
          }
        },
        "propertiesUri" : {
          "$ref" : "#/$defs/URIReference",
          "description" : "Optional URI reference for externally hosted platform properties."
        }
      },
      "description" : "Platform configuration in the v1.1 JSON form with component identifiers, properties, and optional URI references."
    },
    "PlatformConfigurationV3" : {
      "$schema" : "https://json-schema.org/draft/2020-12/schema",
      "type" : "object",
      "properties" : {
        "components" : {
          "description" : "Platform components represented as trait collections.",
          "minItems" : 1,
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/TraitMap",
            "description" : "Platform components represented as trait collections."
          }
        },
        "properties" : {
          "description" : "Platform properties associated with the configuration.",
          "minItems" : 1,
          "type" : "array",
          "items" : {
            "$ref" : "#/$defs/PlatformPropertiesV2",
            "description" : "Platform properties associated with the configuration."
          }
        }
      },
      "description" : "Platform configuration in the v3/v2.0 JSON form using trait-based component identifiers."
    }
  }
}