{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/amazon-private-ca/refs/heads/main/json-schema/amazon-private-ca-key-usage-schema.json",
  "title": "KeyUsage",
  "description": "Defines one or more purposes for which the key contained in the certificate can be used. Default value for each option is false.",
  "type": "object",
  "properties": {
    "DigitalSignature": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": " Key can be used for digital signing."
        }
      ]
    },
    "NonRepudiation": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "Key can be used for non-repudiation."
        }
      ]
    },
    "KeyEncipherment": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "Key can be used to encipher data."
        }
      ]
    },
    "DataEncipherment": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "Key can be used to decipher data."
        }
      ]
    },
    "KeyAgreement": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "Key can be used in a key-agreement protocol."
        }
      ]
    },
    "KeyCertSign": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "Key can be used to sign certificates."
        }
      ]
    },
    "CRLSign": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "Key can be used to sign CRLs."
        }
      ]
    },
    "EncipherOnly": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "Key can be used only to encipher data."
        }
      ]
    },
    "DecipherOnly": {
      "allOf": [
        {
          "$ref": "#/components/schemas/Boolean"
        },
        {
          "description": "Key can be used only to decipher data."
        }
      ]
    }
  }
}