15ecf7b4eSGunnar Mills{
25ecf7b4eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/CertificateService.v1_2_0.json",
35ecf7b4eSGunnar Mills    "$ref": "#/definitions/CertificateService",
45ecf7b4eSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
55ecf7b4eSGunnar Mills    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
65ecf7b4eSGunnar Mills    "definitions": {
75ecf7b4eSGunnar Mills        "Actions": {
85ecf7b4eSGunnar Mills            "additionalProperties": false,
95ecf7b4eSGunnar Mills            "description": "The available actions for this resource.",
105ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
115ecf7b4eSGunnar Mills            "patternProperties": {
125ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
135ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
145ecf7b4eSGunnar Mills                    "type": [
155ecf7b4eSGunnar Mills                        "array",
165ecf7b4eSGunnar Mills                        "boolean",
175ecf7b4eSGunnar Mills                        "integer",
185ecf7b4eSGunnar Mills                        "number",
195ecf7b4eSGunnar Mills                        "null",
205ecf7b4eSGunnar Mills                        "object",
215ecf7b4eSGunnar Mills                        "string"
225ecf7b4eSGunnar Mills                    ]
235ecf7b4eSGunnar Mills                }
245ecf7b4eSGunnar Mills            },
255ecf7b4eSGunnar Mills            "properties": {
265ecf7b4eSGunnar Mills                "#CertificateService.GenerateCSR": {
275ecf7b4eSGunnar Mills                    "$ref": "#/definitions/GenerateCSR"
285ecf7b4eSGunnar Mills                },
295ecf7b4eSGunnar Mills                "#CertificateService.ReplaceCertificate": {
305ecf7b4eSGunnar Mills                    "$ref": "#/definitions/ReplaceCertificate"
315ecf7b4eSGunnar Mills                },
325ecf7b4eSGunnar Mills                "Oem": {
335ecf7b4eSGunnar Mills                    "$ref": "#/definitions/OemActions",
345ecf7b4eSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
355ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
365ecf7b4eSGunnar Mills                }
375ecf7b4eSGunnar Mills            },
385ecf7b4eSGunnar Mills            "type": "object"
395ecf7b4eSGunnar Mills        },
405ecf7b4eSGunnar Mills        "AutomaticCertificateEnrollment": {
415ecf7b4eSGunnar Mills            "additionalProperties": false,
425ecf7b4eSGunnar Mills            "description": "The automatic certificate enrollment service configuration.",
435ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the configuration and status of automatic certificate enrollment.",
445ecf7b4eSGunnar Mills            "patternProperties": {
455ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
465ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
475ecf7b4eSGunnar Mills                    "type": [
485ecf7b4eSGunnar Mills                        "array",
495ecf7b4eSGunnar Mills                        "boolean",
505ecf7b4eSGunnar Mills                        "integer",
515ecf7b4eSGunnar Mills                        "number",
525ecf7b4eSGunnar Mills                        "null",
535ecf7b4eSGunnar Mills                        "object",
545ecf7b4eSGunnar Mills                        "string"
555ecf7b4eSGunnar Mills                    ]
565ecf7b4eSGunnar Mills                }
575ecf7b4eSGunnar Mills            },
585ecf7b4eSGunnar Mills            "properties": {
595ecf7b4eSGunnar Mills                "CertificatesSupported": {
605ecf7b4eSGunnar Mills                    "description": "The certificate usage types that support automatic enrollments for this service.",
615ecf7b4eSGunnar Mills                    "items": {
625ecf7b4eSGunnar Mills                        "anyOf": [
635ecf7b4eSGunnar Mills                            {
645ecf7b4eSGunnar Mills                                "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/CertificateUsageType"
655ecf7b4eSGunnar Mills                            },
665ecf7b4eSGunnar Mills                            {
675ecf7b4eSGunnar Mills                                "type": "null"
685ecf7b4eSGunnar Mills                            }
695ecf7b4eSGunnar Mills                        ]
705ecf7b4eSGunnar Mills                    },
715ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array of certificate usage types that support automatic enrollments for this service.",
725ecf7b4eSGunnar Mills                    "readonly": true,
735ecf7b4eSGunnar Mills                    "type": "array",
745ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
755ecf7b4eSGunnar Mills                },
765ecf7b4eSGunnar Mills                "EnrollmentTypes": {
775ecf7b4eSGunnar Mills                    "description": "The automatic enrollment protocols supported by this service.",
785ecf7b4eSGunnar Mills                    "items": {
795ecf7b4eSGunnar Mills                        "anyOf": [
805ecf7b4eSGunnar Mills                            {
815ecf7b4eSGunnar Mills                                "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateEnrollment.json#/definitions/EnrollmentProtocolType"
825ecf7b4eSGunnar Mills                            },
835ecf7b4eSGunnar Mills                            {
845ecf7b4eSGunnar Mills                                "type": "null"
855ecf7b4eSGunnar Mills                            }
865ecf7b4eSGunnar Mills                        ]
875ecf7b4eSGunnar Mills                    },
885ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array of automatic enrollment protocols supported by this service.",
895ecf7b4eSGunnar Mills                    "readonly": true,
905ecf7b4eSGunnar Mills                    "type": "array",
915ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
925ecf7b4eSGunnar Mills                },
935ecf7b4eSGunnar Mills                "ServiceEnabled": {
945ecf7b4eSGunnar Mills                    "description": "An indication of whether automatic enrollment is enabled.",
955ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether automatic certificate enrollment is enabled.",
965ecf7b4eSGunnar Mills                    "readonly": false,
975ecf7b4eSGunnar Mills                    "type": [
985ecf7b4eSGunnar Mills                        "boolean",
995ecf7b4eSGunnar Mills                        "null"
1005ecf7b4eSGunnar Mills                    ],
1015ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
1025ecf7b4eSGunnar Mills                }
1035ecf7b4eSGunnar Mills            },
1045ecf7b4eSGunnar Mills            "type": "object"
1055ecf7b4eSGunnar Mills        },
1065ecf7b4eSGunnar Mills        "CertificateService": {
1075ecf7b4eSGunnar Mills            "additionalProperties": false,
1085ecf7b4eSGunnar Mills            "description": "The `CertificateService` schema describes a certificate service that represents the actions available to manage certificates and links to the certificates.",
1095ecf7b4eSGunnar Mills            "longDescription": "This resource shall represent the certificate service properties for a Redfish implementation.",
1105ecf7b4eSGunnar Mills            "patternProperties": {
1115ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
1125ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
1135ecf7b4eSGunnar Mills                    "type": [
1145ecf7b4eSGunnar Mills                        "array",
1155ecf7b4eSGunnar Mills                        "boolean",
1165ecf7b4eSGunnar Mills                        "integer",
1175ecf7b4eSGunnar Mills                        "number",
1185ecf7b4eSGunnar Mills                        "null",
1195ecf7b4eSGunnar Mills                        "object",
1205ecf7b4eSGunnar Mills                        "string"
1215ecf7b4eSGunnar Mills                    ]
1225ecf7b4eSGunnar Mills                }
1235ecf7b4eSGunnar Mills            },
1245ecf7b4eSGunnar Mills            "properties": {
1255ecf7b4eSGunnar Mills                "@odata.context": {
1265ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
1275ecf7b4eSGunnar Mills                },
1285ecf7b4eSGunnar Mills                "@odata.etag": {
1295ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
1305ecf7b4eSGunnar Mills                },
1315ecf7b4eSGunnar Mills                "@odata.id": {
1325ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
1335ecf7b4eSGunnar Mills                },
1345ecf7b4eSGunnar Mills                "@odata.type": {
1355ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
1365ecf7b4eSGunnar Mills                },
1375ecf7b4eSGunnar Mills                "Actions": {
1385ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Actions",
1395ecf7b4eSGunnar Mills                    "description": "The available actions for this resource.",
1405ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
1415ecf7b4eSGunnar Mills                },
1425ecf7b4eSGunnar Mills                "AutomaticCertificateEnrollment": {
1435ecf7b4eSGunnar Mills                    "anyOf": [
1445ecf7b4eSGunnar Mills                        {
1455ecf7b4eSGunnar Mills                            "$ref": "#/definitions/AutomaticCertificateEnrollment"
1465ecf7b4eSGunnar Mills                        },
1475ecf7b4eSGunnar Mills                        {
1485ecf7b4eSGunnar Mills                            "type": "null"
1495ecf7b4eSGunnar Mills                        }
1505ecf7b4eSGunnar Mills                    ],
1515ecf7b4eSGunnar Mills                    "description": "The automatic certificate enrollment configuration.",
1525ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the configuration and status of automatic certificate enrollment.",
1535ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
1545ecf7b4eSGunnar Mills                },
1555ecf7b4eSGunnar Mills                "CertificateEnrollments": {
1565ecf7b4eSGunnar Mills                    "anyOf": [
1575ecf7b4eSGunnar Mills                        {
1585ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateEnrollmentCollection.json#/definitions/CertificateEnrollmentCollection"
1595ecf7b4eSGunnar Mills                        },
1605ecf7b4eSGunnar Mills                        {
1615ecf7b4eSGunnar Mills                            "type": "null"
1625ecf7b4eSGunnar Mills                        }
1635ecf7b4eSGunnar Mills                    ],
1645ecf7b4eSGunnar Mills                    "description": "The link to the collection of certificate enrollment configurations.",
1655ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `CertificateEnrollmentCollection` that contains the certificate enrollment configurations for this service.",
1665ecf7b4eSGunnar Mills                    "readonly": true,
1675ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
1685ecf7b4eSGunnar Mills                },
1695ecf7b4eSGunnar Mills                "CertificateLocations": {
1705ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateLocations.json#/definitions/CertificateLocations",
1715ecf7b4eSGunnar Mills                    "description": "The information about the location of certificates.",
1725ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `CertificateLocations`.",
1735ecf7b4eSGunnar Mills                    "readonly": true
1745ecf7b4eSGunnar Mills                },
1755ecf7b4eSGunnar Mills                "Description": {
1765ecf7b4eSGunnar Mills                    "anyOf": [
1775ecf7b4eSGunnar Mills                        {
1785ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
1795ecf7b4eSGunnar Mills                        },
1805ecf7b4eSGunnar Mills                        {
1815ecf7b4eSGunnar Mills                            "type": "null"
1825ecf7b4eSGunnar Mills                        }
1835ecf7b4eSGunnar Mills                    ],
1845ecf7b4eSGunnar Mills                    "readonly": true
1855ecf7b4eSGunnar Mills                },
1865ecf7b4eSGunnar Mills                "EnrollmentCACertificates": {
1875ecf7b4eSGunnar Mills                    "anyOf": [
1885ecf7b4eSGunnar Mills                        {
1895ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateCollection.json#/definitions/CertificateCollection"
1905ecf7b4eSGunnar Mills                        },
1915ecf7b4eSGunnar Mills                        {
1925ecf7b4eSGunnar Mills                            "type": "null"
1935ecf7b4eSGunnar Mills                        }
1945ecf7b4eSGunnar Mills                    ],
1955ecf7b4eSGunnar Mills                    "description": "The link to a collection of server certificates for the automatic certificate enrollment servers.",
1965ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `CertificateCollection` that contains the server certificates for the automatic certificate enrollment servers.",
1975ecf7b4eSGunnar Mills                    "readonly": true,
1985ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
1995ecf7b4eSGunnar Mills                },
2005ecf7b4eSGunnar Mills                "Id": {
2015ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
2025ecf7b4eSGunnar Mills                    "readonly": true
2035ecf7b4eSGunnar Mills                },
2045ecf7b4eSGunnar Mills                "Name": {
2055ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
2065ecf7b4eSGunnar Mills                    "readonly": true
2075ecf7b4eSGunnar Mills                },
2085ecf7b4eSGunnar Mills                "Oem": {
2095ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
2105ecf7b4eSGunnar Mills                    "description": "The OEM extension property.",
2115ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the OEM extensions.  All values for properties that this object contains shall conform to the Redfish Specification-described requirements."
2125ecf7b4eSGunnar Mills                }
2135ecf7b4eSGunnar Mills            },
2145ecf7b4eSGunnar Mills            "required": [
2155ecf7b4eSGunnar Mills                "@odata.id",
2165ecf7b4eSGunnar Mills                "@odata.type",
2175ecf7b4eSGunnar Mills                "Id",
2185ecf7b4eSGunnar Mills                "Name"
2195ecf7b4eSGunnar Mills            ],
2205ecf7b4eSGunnar Mills            "type": "object"
2215ecf7b4eSGunnar Mills        },
2225ecf7b4eSGunnar Mills        "GenerateCSR": {
2235ecf7b4eSGunnar Mills            "actionResponse": {
2245ecf7b4eSGunnar Mills                "$ref": "#/definitions/GenerateCSRResponse"
2255ecf7b4eSGunnar Mills            },
2265ecf7b4eSGunnar Mills            "additionalProperties": false,
2275ecf7b4eSGunnar Mills            "description": "This action makes a certificate signing request.",
2285ecf7b4eSGunnar Mills            "longDescription": "This action shall make a certificate signing request.  The response shall contain a signing request that a certificate authority (CA) will sign.  The service should retain the private key that was generated during this request for installation of the certificate.  The private key should not be part of the response.",
2295ecf7b4eSGunnar Mills            "parameters": {
2305ecf7b4eSGunnar Mills                "AlternativeNames": {
2315ecf7b4eSGunnar Mills                    "description": "The additional host names of the component to secure.",
2325ecf7b4eSGunnar Mills                    "items": {
2335ecf7b4eSGunnar Mills                        "type": "string"
2345ecf7b4eSGunnar Mills                    },
2355ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain an array of additional host names of the component to secure, as defined by the RFC5280 'subjectAltName' attribute.",
2365ecf7b4eSGunnar Mills                    "type": "array"
2375ecf7b4eSGunnar Mills                },
2385ecf7b4eSGunnar Mills                "CertificateCollection": {
2395ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateCollection.json#/definitions/CertificateCollection",
2405ecf7b4eSGunnar Mills                    "description": "The link to the certificate collection where the certificate is installed after the certificate authority (CA) signs the certificate.",
2415ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain a link to a resource collection of type `CertificateCollection` where the certificate is installed after the certificate authority (CA) signs the certificate.",
2425ecf7b4eSGunnar Mills                    "requiredParameter": true
2435ecf7b4eSGunnar Mills                },
2445ecf7b4eSGunnar Mills                "ChallengePassword": {
2455ecf7b4eSGunnar Mills                    "description": "The challenge password to apply to the certificate for revocation requests.",
2465ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the challenge password to apply to the certificate for revocation requests as defined by the RFC2985 'challengePassword' attribute.",
2475ecf7b4eSGunnar Mills                    "type": "string"
2485ecf7b4eSGunnar Mills                },
2495ecf7b4eSGunnar Mills                "City": {
2505ecf7b4eSGunnar Mills                    "description": "The city or locality of the organization making the request.",
2515ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the city or locality of the organization making the request, as defined by the RFC5280 'localityName' attribute.",
2525ecf7b4eSGunnar Mills                    "type": "string"
2535ecf7b4eSGunnar Mills                },
2545ecf7b4eSGunnar Mills                "CommonName": {
2555ecf7b4eSGunnar Mills                    "description": "The fully qualified domain name of the component to secure.",
2565ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the fully qualified domain name of the component to secure, as defined by the RFC5280 'commonName' attribute.",
2575ecf7b4eSGunnar Mills                    "requiredParameter": true,
2585ecf7b4eSGunnar Mills                    "type": "string"
2595ecf7b4eSGunnar Mills                },
2605ecf7b4eSGunnar Mills                "ContactPerson": {
2615ecf7b4eSGunnar Mills                    "description": "The name of the user making the request.",
2625ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the name of the user making the request, as defined by the RFC5280 'name' attribute.",
2635ecf7b4eSGunnar Mills                    "type": "string"
2645ecf7b4eSGunnar Mills                },
2655ecf7b4eSGunnar Mills                "Country": {
2665ecf7b4eSGunnar Mills                    "description": "The two-letter country code of the organization making the request.",
2675ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the two-letter ISO code for the country of the organization making the request, as defined by the RFC5280 'countryName' attribute.",
2685ecf7b4eSGunnar Mills                    "type": "string"
2695ecf7b4eSGunnar Mills                },
2705ecf7b4eSGunnar Mills                "Email": {
2715ecf7b4eSGunnar Mills                    "description": "The email address of the contact within the organization making the request.",
2725ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the email address of the contact within the organization making the request, as defined by the RFC2985 'emailAddress' attribute.",
2735ecf7b4eSGunnar Mills                    "type": "string"
2745ecf7b4eSGunnar Mills                },
2755ecf7b4eSGunnar Mills                "GivenName": {
2765ecf7b4eSGunnar Mills                    "description": "The given name of the user making the request.",
2775ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the given name of the user making the request, as defined by the RFC5280 'givenName' attribute.",
2785ecf7b4eSGunnar Mills                    "type": "string"
2795ecf7b4eSGunnar Mills                },
2805ecf7b4eSGunnar Mills                "Initials": {
2815ecf7b4eSGunnar Mills                    "description": "The initials of the user making the request.",
2825ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the initials of the user making the request, as defined by the RFC5280 'initials' attribute.",
2835ecf7b4eSGunnar Mills                    "type": "string"
2845ecf7b4eSGunnar Mills                },
2855ecf7b4eSGunnar Mills                "KeyBitLength": {
2865ecf7b4eSGunnar Mills                    "description": "The length of the key, in bits, if needed based on the `KeyPairAlgorithm` parameter value.",
2875ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the length of the key, in bits, if needed based on the `KeyPairAlgorithm` parameter value.",
2885ecf7b4eSGunnar Mills                    "type": "integer"
2895ecf7b4eSGunnar Mills                },
2905ecf7b4eSGunnar Mills                "KeyCurveId": {
2915ecf7b4eSGunnar Mills                    "description": "The curve ID to use with the key, if needed based on the `KeyPairAlgorithm` parameter value.",
2925ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the curve ID to use with the key, if needed based on the `KeyPairAlgorithm` parameter value.  The allowable values for this parameter shall be the strings in the 'Name' field of the 'TCG_ECC_CURVE Constants' table, formerly the 'TPM_ECC_CURVE Constants' table, within the 'Trusted Computing Group Algorithm Registry'.",
2935ecf7b4eSGunnar Mills                    "type": "string"
2945ecf7b4eSGunnar Mills                },
2955ecf7b4eSGunnar Mills                "KeyPairAlgorithm": {
2965ecf7b4eSGunnar Mills                    "description": "The type of key-pair for use with signing algorithms.",
2975ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the type of key-pair for use with signing algorithms.  The allowable values for this parameter shall be the strings in the 'Algorithm Name' field of the 'TCG_ALG_ID Constants' table, formerly the 'TPM_ALG_ID Constants' table, within the 'Trusted Computing Group Algorithm Registry'.",
2985ecf7b4eSGunnar Mills                    "type": "string"
2995ecf7b4eSGunnar Mills                },
3005ecf7b4eSGunnar Mills                "KeyUsage": {
3015ecf7b4eSGunnar Mills                    "description": "The usage of the key contained in the certificate.",
3025ecf7b4eSGunnar Mills                    "items": {
3035ecf7b4eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/KeyUsage"
3045ecf7b4eSGunnar Mills                    },
3055ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the usage of the key contained in the certificate.  If the client does not provide this value, the service can determine the appropriate key usage settings in the certificate signing request.",
3065ecf7b4eSGunnar Mills                    "type": "array"
3075ecf7b4eSGunnar Mills                },
3085ecf7b4eSGunnar Mills                "Organization": {
3095ecf7b4eSGunnar Mills                    "description": "The name of the organization making the request.",
3105ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the name of the organization making the request, as defined by the RFC5280 'organizationName' attribute.",
3115ecf7b4eSGunnar Mills                    "type": "string"
3125ecf7b4eSGunnar Mills                },
3135ecf7b4eSGunnar Mills                "OrganizationalUnit": {
3145ecf7b4eSGunnar Mills                    "description": "The name of the unit or division of the organization making the request.",
3155ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the name of the unit or division of the organization making the request, as defined by the RFC5280 'organizationalUnitName' attribute.",
3165ecf7b4eSGunnar Mills                    "type": "string"
3175ecf7b4eSGunnar Mills                },
3185ecf7b4eSGunnar Mills                "State": {
3195ecf7b4eSGunnar Mills                    "description": "The state, province, or region of the organization making the request.",
3205ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the state, province, or region of the organization making the request, as defined by the RFC5280 'stateOrProvinceName' attribute.",
3215ecf7b4eSGunnar Mills                    "type": "string"
3225ecf7b4eSGunnar Mills                },
3235ecf7b4eSGunnar Mills                "Surname": {
3245ecf7b4eSGunnar Mills                    "description": "The surname of the user making the request.",
3255ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the surname of the user making the request, as defined by the RFC5280 'surname' attribute.",
3265ecf7b4eSGunnar Mills                    "type": "string"
3275ecf7b4eSGunnar Mills                },
3285ecf7b4eSGunnar Mills                "UnstructuredName": {
3295ecf7b4eSGunnar Mills                    "description": "The unstructured name of the subject.",
3305ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the unstructured name of the subject, as defined by the RFC2985 'unstructuredName' attribute.",
3315ecf7b4eSGunnar Mills                    "type": "string"
3325ecf7b4eSGunnar Mills                }
3335ecf7b4eSGunnar Mills            },
3345ecf7b4eSGunnar Mills            "patternProperties": {
3355ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
3365ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
3375ecf7b4eSGunnar Mills                    "type": [
3385ecf7b4eSGunnar Mills                        "array",
3395ecf7b4eSGunnar Mills                        "boolean",
3405ecf7b4eSGunnar Mills                        "integer",
3415ecf7b4eSGunnar Mills                        "number",
3425ecf7b4eSGunnar Mills                        "null",
3435ecf7b4eSGunnar Mills                        "object",
3445ecf7b4eSGunnar Mills                        "string"
3455ecf7b4eSGunnar Mills                    ]
3465ecf7b4eSGunnar Mills                }
3475ecf7b4eSGunnar Mills            },
3485ecf7b4eSGunnar Mills            "properties": {
3495ecf7b4eSGunnar Mills                "target": {
3505ecf7b4eSGunnar Mills                    "description": "Link to invoke action",
3515ecf7b4eSGunnar Mills                    "format": "uri-reference",
3525ecf7b4eSGunnar Mills                    "type": "string"
3535ecf7b4eSGunnar Mills                },
3545ecf7b4eSGunnar Mills                "title": {
3555ecf7b4eSGunnar Mills                    "description": "Friendly action name",
3565ecf7b4eSGunnar Mills                    "type": "string"
3575ecf7b4eSGunnar Mills                }
3585ecf7b4eSGunnar Mills            },
3595ecf7b4eSGunnar Mills            "type": "object"
3605ecf7b4eSGunnar Mills        },
3615ecf7b4eSGunnar Mills        "GenerateCSRResponse": {
3625ecf7b4eSGunnar Mills            "additionalProperties": false,
3635ecf7b4eSGunnar Mills            "description": "The response body for the `GenerateCSR` action.",
3645ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the properties found in the response body for the `GenerateCSR` action.",
3655ecf7b4eSGunnar Mills            "patternProperties": {
3665ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
3675ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
3685ecf7b4eSGunnar Mills                    "type": [
3695ecf7b4eSGunnar Mills                        "array",
3705ecf7b4eSGunnar Mills                        "boolean",
3715ecf7b4eSGunnar Mills                        "integer",
3725ecf7b4eSGunnar Mills                        "number",
3735ecf7b4eSGunnar Mills                        "null",
3745ecf7b4eSGunnar Mills                        "object",
3755ecf7b4eSGunnar Mills                        "string"
3765ecf7b4eSGunnar Mills                    ]
3775ecf7b4eSGunnar Mills                }
3785ecf7b4eSGunnar Mills            },
3795ecf7b4eSGunnar Mills            "properties": {
3805ecf7b4eSGunnar Mills                "CSRString": {
3815ecf7b4eSGunnar Mills                    "description": "The string for the certificate signing request.",
3825ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the Privacy Enhanced Mail (PEM)-encoded string, which contains RFC2986-specified structures, of the certificate signing request.  The private key should not be part of the string.",
3835ecf7b4eSGunnar Mills                    "readonly": true,
3845ecf7b4eSGunnar Mills                    "type": "string"
3855ecf7b4eSGunnar Mills                },
3865ecf7b4eSGunnar Mills                "CertificateCollection": {
3875ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateCollection.json#/definitions/CertificateCollection",
3885ecf7b4eSGunnar Mills                    "description": "The link to the certificate collection where the certificate is installed.",
3895ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `CertificateCollection` where the certificate is installed after the certificate authority (CA) has signed the certificate.",
3905ecf7b4eSGunnar Mills                    "readonly": true
3915ecf7b4eSGunnar Mills                }
3925ecf7b4eSGunnar Mills            },
3935ecf7b4eSGunnar Mills            "required": [
3945ecf7b4eSGunnar Mills                "CertificateCollection",
3955ecf7b4eSGunnar Mills                "CSRString"
3965ecf7b4eSGunnar Mills            ],
3975ecf7b4eSGunnar Mills            "type": "object"
3985ecf7b4eSGunnar Mills        },
3995ecf7b4eSGunnar Mills        "OemActions": {
4005ecf7b4eSGunnar Mills            "additionalProperties": true,
4015ecf7b4eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
4025ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
4035ecf7b4eSGunnar Mills            "patternProperties": {
4045ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
4055ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
4065ecf7b4eSGunnar Mills                    "type": [
4075ecf7b4eSGunnar Mills                        "array",
4085ecf7b4eSGunnar Mills                        "boolean",
4095ecf7b4eSGunnar Mills                        "integer",
4105ecf7b4eSGunnar Mills                        "number",
4115ecf7b4eSGunnar Mills                        "null",
4125ecf7b4eSGunnar Mills                        "object",
4135ecf7b4eSGunnar Mills                        "string"
4145ecf7b4eSGunnar Mills                    ]
4155ecf7b4eSGunnar Mills                }
4165ecf7b4eSGunnar Mills            },
4175ecf7b4eSGunnar Mills            "properties": {},
4185ecf7b4eSGunnar Mills            "type": "object"
4195ecf7b4eSGunnar Mills        },
4205ecf7b4eSGunnar Mills        "ReplaceCertificate": {
4215ecf7b4eSGunnar Mills            "additionalProperties": false,
4225ecf7b4eSGunnar Mills            "description": "This action replaces a certificate.",
4235ecf7b4eSGunnar Mills            "longDescription": "This action shall replace a certificate.  The `Location` header in the response shall contain the URI of the new certificate resource.",
4245ecf7b4eSGunnar Mills            "parameters": {
4255ecf7b4eSGunnar Mills                "CertificateString": {
4265ecf7b4eSGunnar Mills                    "description": "The string for the certificate.",
4275ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the string of the certificate, and the format shall follow the requirements specified by the `CertificateType` parameter 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 it is needed to use the certificate, the client shall provide the private key as part of the string in the `POST` request.",
4285ecf7b4eSGunnar Mills                    "requiredParameter": true,
4295ecf7b4eSGunnar Mills                    "type": "string"
4305ecf7b4eSGunnar Mills                },
4315ecf7b4eSGunnar Mills                "CertificateType": {
4325ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/CertificateType",
4335ecf7b4eSGunnar Mills                    "description": "The format of the certificate.",
4345ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the format type for the certificate.",
4355ecf7b4eSGunnar Mills                    "requiredParameter": true
4365ecf7b4eSGunnar Mills                },
4375ecf7b4eSGunnar Mills                "CertificateUri": {
4385ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/Certificate",
4395ecf7b4eSGunnar Mills                    "description": "The link to the certificate that is being replaced.",
4405ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain a link to a resource of type `Certificate` that is being replaced.",
4415ecf7b4eSGunnar Mills                    "requiredParameter": true
4425ecf7b4eSGunnar Mills                },
4435ecf7b4eSGunnar Mills                "Password": {
4445ecf7b4eSGunnar Mills                    "description": "The password for the certificate.",
4455ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the password for the certificate contained in the `CertificateString` parameter.  This parameter shall be required if the `CertificateType` parameter contains `PKCS12` and the client-provided certificate is password protected.",
4465ecf7b4eSGunnar Mills                    "type": "string",
4475ecf7b4eSGunnar Mills                    "versionAdded": "v1_1_0"
4485ecf7b4eSGunnar Mills                }
4495ecf7b4eSGunnar Mills            },
4505ecf7b4eSGunnar Mills            "patternProperties": {
4515ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
4525ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
4535ecf7b4eSGunnar Mills                    "type": [
4545ecf7b4eSGunnar Mills                        "array",
4555ecf7b4eSGunnar Mills                        "boolean",
4565ecf7b4eSGunnar Mills                        "integer",
4575ecf7b4eSGunnar Mills                        "number",
4585ecf7b4eSGunnar Mills                        "null",
4595ecf7b4eSGunnar Mills                        "object",
4605ecf7b4eSGunnar Mills                        "string"
4615ecf7b4eSGunnar Mills                    ]
4625ecf7b4eSGunnar Mills                }
4635ecf7b4eSGunnar Mills            },
4645ecf7b4eSGunnar Mills            "properties": {
4655ecf7b4eSGunnar Mills                "target": {
4665ecf7b4eSGunnar Mills                    "description": "Link to invoke action",
4675ecf7b4eSGunnar Mills                    "format": "uri-reference",
4685ecf7b4eSGunnar Mills                    "type": "string"
4695ecf7b4eSGunnar Mills                },
4705ecf7b4eSGunnar Mills                "title": {
4715ecf7b4eSGunnar Mills                    "description": "Friendly action name",
4725ecf7b4eSGunnar Mills                    "type": "string"
4735ecf7b4eSGunnar Mills                }
4745ecf7b4eSGunnar Mills            },
4755ecf7b4eSGunnar Mills            "type": "object"
4765ecf7b4eSGunnar Mills        }
4775ecf7b4eSGunnar Mills    },
4785ecf7b4eSGunnar Mills    "language": "en",
4795ecf7b4eSGunnar Mills    "owningEntity": "DMTF",
4805ecf7b4eSGunnar Mills    "release": "2025.3",
4815ecf7b4eSGunnar Mills    "title": "#CertificateService.v1_2_0.CertificateService"
4825ecf7b4eSGunnar Mills}