{
    "$id": "http://redfish.dmtf.org/schemas/v1/Certificate.v1_0_4.json",
    "$ref": "#/definitions/Certificate",
    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
    "copyright": "Copyright 2014-2020 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
    "definitions": {
        "Actions": {
            "additionalProperties": false,
            "description": "The available actions for this resource.",
            "longDescription": "This type shall contain the available actions for this resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "Oem": {
                    "$ref": "#/definitions/OemActions",
                    "description": "The available OEM-specific actions for this resource.",
                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
                }
            },
            "type": "object"
        },
        "Certificate": {
            "additionalProperties": false,
            "description": "The Certificate schema describes a certificate that proves the identify of a component, account, or service.",
            "longDescription": "This resource shall represent a certificate for a Redfish implementation.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "@odata.context": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
                },
                "@odata.etag": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
                },
                "@odata.id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
                },
                "@odata.type": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
                },
                "Actions": {
                    "$ref": "#/definitions/Actions",
                    "description": "The available actions for this resource.",
                    "longDescription": "This property shall contain the available actions for this resource."
                },
                "CertificateString": {
                    "description": "The string for the certificate.",
                    "longDescription": "This property shall contain the certificate, and the format shall follow the requirements specified by the CertificateType property value.  If the certificate contains any private keys, they shall be removed from the string in responses.  If the service does not know the private key for the certificate and is needed to use the certificate, the client shall provide the private key as part of the string in the POST request.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "CertificateType": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/CertificateType"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "The format of the certificate.",
                    "longDescription": "This property shall contain the format type for the certificate.",
                    "readonly": true
                },
                "Description": {
                    "anyOf": [
                        {
                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "readonly": true
                },
                "Id": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
                    "readonly": true
                },
                "Issuer": {
                    "$ref": "#/definitions/Identifier",
                    "description": "The issuer of the certificate.",
                    "longDescription": "This property shall contain an object containing information about the issuer of the certificate."
                },
                "KeyUsage": {
                    "description": "The key usage extension, which defines the purpose of the public keys in this certificate.",
                    "items": {
                        "anyOf": [
                            {
                                "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/KeyUsage"
                            },
                            {
                                "type": "null"
                            }
                        ]
                    },
                    "longDescription": "This property shall contain the key usage extension, which defines the purpose of the public keys in this certificate.",
                    "readonly": true,
                    "type": "array"
                },
                "Name": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
                    "readonly": true
                },
                "Oem": {
                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
                    "description": "The OEM extension property.",
                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
                },
                "Subject": {
                    "$ref": "#/definitions/Identifier",
                    "description": "The subject of the certificate.",
                    "longDescription": "This property shall contain an object containing information about the subject of the certificate."
                },
                "ValidNotAfter": {
                    "description": "The date when the certificate is no longer valid.",
                    "format": "date-time",
                    "longDescription": "This property shall contain the date when the certificate validity period ends.",
                    "readonly": true,
                    "type": "string"
                },
                "ValidNotBefore": {
                    "description": "The date when the certificate becomes valid.",
                    "format": "date-time",
                    "longDescription": "This property shall contain the date when the certificate validity period begins.",
                    "readonly": true,
                    "type": "string"
                }
            },
            "required": [
                "@odata.id",
                "@odata.type",
                "Id",
                "Name"
            ],
            "requiredOnCreate": [
                "CertificateString",
                "CertificateType"
            ],
            "type": "object"
        },
        "Identifier": {
            "additionalProperties": false,
            "description": "The identifier information about a certificate.",
            "longDescription": "This type shall contain the properties that identifies the issuer or subject of a certificate.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {
                "City": {
                    "description": "The city or locality of the organization of the entity.",
                    "longDescription": "This property shall contain the city or locality of the organization of the entity.",
                    "readonly": true,
                    "type": "string"
                },
                "CommonName": {
                    "description": "The fully qualified domain name of the entity.",
                    "longDescription": "This property shall contain the fully qualified domain name of the entity.",
                    "readonly": true,
                    "type": "string"
                },
                "Country": {
                    "description": "The country of the organization of the entity.",
                    "longDescription": "This property shall contain the two-letter ISO code for the country of the organization of the entity.",
                    "readonly": true,
                    "type": "string"
                },
                "Email": {
                    "description": "The email address of the contact within the organization of the entity.",
                    "longDescription": "This property shall contain the email address of the contact within the organization of the entity.",
                    "readonly": true,
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "Organization": {
                    "description": "The name of the organization of the entity.",
                    "longDescription": "This property shall contain the name of the organization of the entity.",
                    "readonly": true,
                    "type": "string"
                },
                "OrganizationalUnit": {
                    "description": "The name of the unit or division of the organization of the entity.",
                    "longDescription": "This property shall contain the name of the unit or division of the organization of the entity.",
                    "readonly": true,
                    "type": "string"
                },
                "State": {
                    "description": "The state, province, or region of the organization of the entity.",
                    "longDescription": "This property shall contain the state, province, or region of the organization of the entity.",
                    "readonly": true,
                    "type": "string"
                }
            },
            "type": "object"
        },
        "OemActions": {
            "additionalProperties": true,
            "description": "The available OEM-specific actions for this resource.",
            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
            "patternProperties": {
                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
                    "description": "This property shall specify a valid odata or Redfish property.",
                    "type": [
                        "array",
                        "boolean",
                        "integer",
                        "number",
                        "null",
                        "object",
                        "string"
                    ]
                }
            },
            "properties": {},
            "type": "object"
        }
    },
    "owningEntity": "DMTF",
    "release": "2018.3",
    "title": "#Certificate.v1_0_4.Certificate"
}