1c6d7a45dSGunnar Mills{
2c6d7a45dSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/CertificateService.v1_1_0.json",
3c6d7a45dSGunnar Mills    "$ref": "#/definitions/CertificateService",
4c6d7a45dSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5c6d7a45dSGunnar Mills    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6c6d7a45dSGunnar Mills    "definitions": {
7c6d7a45dSGunnar Mills        "Actions": {
8c6d7a45dSGunnar Mills            "additionalProperties": false,
9c6d7a45dSGunnar Mills            "description": "The available actions for this resource.",
10c6d7a45dSGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11c6d7a45dSGunnar Mills            "patternProperties": {
12c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14c6d7a45dSGunnar Mills                    "type": [
15c6d7a45dSGunnar Mills                        "array",
16c6d7a45dSGunnar Mills                        "boolean",
17c6d7a45dSGunnar Mills                        "integer",
18c6d7a45dSGunnar Mills                        "number",
19c6d7a45dSGunnar Mills                        "null",
20c6d7a45dSGunnar Mills                        "object",
21c6d7a45dSGunnar Mills                        "string"
22c6d7a45dSGunnar Mills                    ]
23c6d7a45dSGunnar Mills                }
24c6d7a45dSGunnar Mills            },
25c6d7a45dSGunnar Mills            "properties": {
26c6d7a45dSGunnar Mills                "#CertificateService.GenerateCSR": {
27c6d7a45dSGunnar Mills                    "$ref": "#/definitions/GenerateCSR"
28c6d7a45dSGunnar Mills                },
29c6d7a45dSGunnar Mills                "#CertificateService.ReplaceCertificate": {
30c6d7a45dSGunnar Mills                    "$ref": "#/definitions/ReplaceCertificate"
31c6d7a45dSGunnar Mills                },
32c6d7a45dSGunnar Mills                "Oem": {
33c6d7a45dSGunnar Mills                    "$ref": "#/definitions/OemActions",
34c6d7a45dSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
35c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
36c6d7a45dSGunnar Mills                }
37c6d7a45dSGunnar Mills            },
38c6d7a45dSGunnar Mills            "type": "object"
39c6d7a45dSGunnar Mills        },
40c6d7a45dSGunnar Mills        "CertificateService": {
41c6d7a45dSGunnar Mills            "additionalProperties": false,
42c6d7a45dSGunnar Mills            "description": "The `CertificateService` schema describes a certificate service that represents the actions available to manage certificates and links to the certificates.",
43c6d7a45dSGunnar Mills            "longDescription": "This resource shall represent the certificate service properties for a Redfish implementation.",
44c6d7a45dSGunnar Mills            "patternProperties": {
45c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
46c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
47c6d7a45dSGunnar Mills                    "type": [
48c6d7a45dSGunnar Mills                        "array",
49c6d7a45dSGunnar Mills                        "boolean",
50c6d7a45dSGunnar Mills                        "integer",
51c6d7a45dSGunnar Mills                        "number",
52c6d7a45dSGunnar Mills                        "null",
53c6d7a45dSGunnar Mills                        "object",
54c6d7a45dSGunnar Mills                        "string"
55c6d7a45dSGunnar Mills                    ]
56c6d7a45dSGunnar Mills                }
57c6d7a45dSGunnar Mills            },
58c6d7a45dSGunnar Mills            "properties": {
59c6d7a45dSGunnar Mills                "@odata.context": {
60c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
61c6d7a45dSGunnar Mills                },
62c6d7a45dSGunnar Mills                "@odata.etag": {
63c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
64c6d7a45dSGunnar Mills                },
65c6d7a45dSGunnar Mills                "@odata.id": {
66c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
67c6d7a45dSGunnar Mills                },
68c6d7a45dSGunnar Mills                "@odata.type": {
69c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
70c6d7a45dSGunnar Mills                },
71c6d7a45dSGunnar Mills                "Actions": {
72c6d7a45dSGunnar Mills                    "$ref": "#/definitions/Actions",
73c6d7a45dSGunnar Mills                    "description": "The available actions for this resource.",
74c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
75c6d7a45dSGunnar Mills                },
76c6d7a45dSGunnar Mills                "CertificateLocations": {
77c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateLocations.json#/definitions/CertificateLocations",
78c6d7a45dSGunnar Mills                    "description": "The information about the location of certificates.",
79c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `CertificateLocations`.",
80c6d7a45dSGunnar Mills                    "readonly": true
81c6d7a45dSGunnar Mills                },
82c6d7a45dSGunnar Mills                "Description": {
83c6d7a45dSGunnar Mills                    "anyOf": [
84c6d7a45dSGunnar Mills                        {
85c6d7a45dSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
86c6d7a45dSGunnar Mills                        },
87c6d7a45dSGunnar Mills                        {
88c6d7a45dSGunnar Mills                            "type": "null"
89c6d7a45dSGunnar Mills                        }
90c6d7a45dSGunnar Mills                    ],
91c6d7a45dSGunnar Mills                    "readonly": true
92c6d7a45dSGunnar Mills                },
93c6d7a45dSGunnar Mills                "Id": {
94c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
95c6d7a45dSGunnar Mills                    "readonly": true
96c6d7a45dSGunnar Mills                },
97c6d7a45dSGunnar Mills                "Name": {
98c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
99c6d7a45dSGunnar Mills                    "readonly": true
100c6d7a45dSGunnar Mills                },
101c6d7a45dSGunnar Mills                "Oem": {
102c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
103c6d7a45dSGunnar Mills                    "description": "The OEM extension property.",
104c6d7a45dSGunnar 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."
105c6d7a45dSGunnar Mills                }
106c6d7a45dSGunnar Mills            },
107c6d7a45dSGunnar Mills            "required": [
108c6d7a45dSGunnar Mills                "@odata.id",
109c6d7a45dSGunnar Mills                "@odata.type",
110c6d7a45dSGunnar Mills                "Id",
111c6d7a45dSGunnar Mills                "Name"
112c6d7a45dSGunnar Mills            ],
113c6d7a45dSGunnar Mills            "type": "object"
114c6d7a45dSGunnar Mills        },
115c6d7a45dSGunnar Mills        "GenerateCSR": {
116c6d7a45dSGunnar Mills            "actionResponse": {
117c6d7a45dSGunnar Mills                "$ref": "#/definitions/GenerateCSRResponse"
118c6d7a45dSGunnar Mills            },
119c6d7a45dSGunnar Mills            "additionalProperties": false,
120c6d7a45dSGunnar Mills            "description": "This action makes a certificate signing request.",
121c6d7a45dSGunnar 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.",
122c6d7a45dSGunnar Mills            "parameters": {
123c6d7a45dSGunnar Mills                "AlternativeNames": {
124c6d7a45dSGunnar Mills                    "description": "The additional host names of the component to secure.",
125c6d7a45dSGunnar Mills                    "items": {
126c6d7a45dSGunnar Mills                        "type": "string"
127c6d7a45dSGunnar Mills                    },
128c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain an array of additional host names of the component to secure, as defined by the RFC5280 'subjectAltName' attribute.",
129c6d7a45dSGunnar Mills                    "type": "array"
130c6d7a45dSGunnar Mills                },
131c6d7a45dSGunnar Mills                "CertificateCollection": {
132c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateCollection.json#/definitions/CertificateCollection",
133c6d7a45dSGunnar Mills                    "description": "The link to the certificate collection where the certificate is installed after the certificate authority (CA) signs the certificate.",
134c6d7a45dSGunnar 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.",
135c6d7a45dSGunnar Mills                    "requiredParameter": true
136c6d7a45dSGunnar Mills                },
137c6d7a45dSGunnar Mills                "ChallengePassword": {
138c6d7a45dSGunnar Mills                    "description": "The challenge password to apply to the certificate for revocation requests.",
139c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the challenge password to apply to the certificate for revocation requests as defined by the RFC2985 'challengePassword' attribute.",
140c6d7a45dSGunnar Mills                    "type": "string"
141c6d7a45dSGunnar Mills                },
142c6d7a45dSGunnar Mills                "City": {
143c6d7a45dSGunnar Mills                    "description": "The city or locality of the organization making the request.",
144c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain the city or locality of the organization making the request, as defined by the RFC5280 'localityName' attribute.",
145c6d7a45dSGunnar Mills                    "type": "string"
146c6d7a45dSGunnar Mills                },
147c6d7a45dSGunnar Mills                "CommonName": {
148c6d7a45dSGunnar Mills                    "description": "The fully qualified domain name of the component to secure.",
149c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain the fully qualified domain name of the component to secure, as defined by the RFC5280 'commonName' attribute.",
150c6d7a45dSGunnar Mills                    "requiredParameter": true,
151c6d7a45dSGunnar Mills                    "type": "string"
152c6d7a45dSGunnar Mills                },
153c6d7a45dSGunnar Mills                "ContactPerson": {
154c6d7a45dSGunnar Mills                    "description": "The name of the user making the request.",
155c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the name of the user making the request, as defined by the RFC5280 'name' attribute.",
156c6d7a45dSGunnar Mills                    "type": "string"
157c6d7a45dSGunnar Mills                },
158c6d7a45dSGunnar Mills                "Country": {
159c6d7a45dSGunnar Mills                    "description": "The two-letter country code of the organization making the request.",
160c6d7a45dSGunnar 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.",
161c6d7a45dSGunnar Mills                    "type": "string"
162c6d7a45dSGunnar Mills                },
163c6d7a45dSGunnar Mills                "Email": {
164c6d7a45dSGunnar Mills                    "description": "The email address of the contact within the organization making the request.",
165c6d7a45dSGunnar 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.",
166c6d7a45dSGunnar Mills                    "type": "string"
167c6d7a45dSGunnar Mills                },
168c6d7a45dSGunnar Mills                "GivenName": {
169c6d7a45dSGunnar Mills                    "description": "The given name of the user making the request.",
170c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain the given name of the user making the request, as defined by the RFC5280 'givenName' attribute.",
171c6d7a45dSGunnar Mills                    "type": "string"
172c6d7a45dSGunnar Mills                },
173c6d7a45dSGunnar Mills                "Initials": {
174c6d7a45dSGunnar Mills                    "description": "The initials of the user making the request.",
175c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain the initials of the user making the request, as defined by the RFC5280 'initials' attribute.",
176c6d7a45dSGunnar Mills                    "type": "string"
177c6d7a45dSGunnar Mills                },
178c6d7a45dSGunnar Mills                "KeyBitLength": {
179c6d7a45dSGunnar Mills                    "description": "The length of the key, in bits, if needed based on the `KeyPairAlgorithm` parameter value.",
180c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain the length of the key, in bits, if needed based on the `KeyPairAlgorithm` parameter value.",
181c6d7a45dSGunnar Mills                    "type": "integer"
182c6d7a45dSGunnar Mills                },
183c6d7a45dSGunnar Mills                "KeyCurveId": {
184c6d7a45dSGunnar Mills                    "description": "The curve ID to use with the key, if needed based on the `KeyPairAlgorithm` parameter value.",
185c6d7a45dSGunnar 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 'TPM_ECC_CURVE Constants' table within the 'Trusted Computing Group Algorithm Registry'.",
186c6d7a45dSGunnar Mills                    "type": "string"
187c6d7a45dSGunnar Mills                },
188c6d7a45dSGunnar Mills                "KeyPairAlgorithm": {
189c6d7a45dSGunnar Mills                    "description": "The type of key-pair for use with signing algorithms.",
190c6d7a45dSGunnar 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 'TPM_ALG_ID Constants' table within the 'Trusted Computing Group Algorithm Registry'.",
191c6d7a45dSGunnar Mills                    "type": "string"
192c6d7a45dSGunnar Mills                },
193c6d7a45dSGunnar Mills                "KeyUsage": {
194c6d7a45dSGunnar Mills                    "description": "The usage of the key contained in the certificate.",
195c6d7a45dSGunnar Mills                    "items": {
196c6d7a45dSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/KeyUsage"
197c6d7a45dSGunnar Mills                    },
198c6d7a45dSGunnar 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.",
199c6d7a45dSGunnar Mills                    "type": "array"
200c6d7a45dSGunnar Mills                },
201c6d7a45dSGunnar Mills                "Organization": {
202c6d7a45dSGunnar Mills                    "description": "The name of the organization making the request.",
203c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain the name of the organization making the request, as defined by the RFC5280 'organizationName' attribute.",
204c6d7a45dSGunnar Mills                    "type": "string"
205c6d7a45dSGunnar Mills                },
206c6d7a45dSGunnar Mills                "OrganizationalUnit": {
207c6d7a45dSGunnar Mills                    "description": "The name of the unit or division of the organization making the request.",
208c6d7a45dSGunnar 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.",
209c6d7a45dSGunnar Mills                    "type": "string"
210c6d7a45dSGunnar Mills                },
211c6d7a45dSGunnar Mills                "State": {
212c6d7a45dSGunnar Mills                    "description": "The state, province, or region of the organization making the request.",
213c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain the state, province, or region of the organization making the request, as defined by the RFC5280 'stateOrProvinceName' attribute.",
214c6d7a45dSGunnar Mills                    "type": "string"
215c6d7a45dSGunnar Mills                },
216c6d7a45dSGunnar Mills                "Surname": {
217c6d7a45dSGunnar Mills                    "description": "The surname of the user making the request.",
218c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain the surname of the user making the request, as defined by the RFC5280 'surname' attribute.",
219c6d7a45dSGunnar Mills                    "type": "string"
220c6d7a45dSGunnar Mills                },
221c6d7a45dSGunnar Mills                "UnstructuredName": {
222c6d7a45dSGunnar Mills                    "description": "The unstructured name of the subject.",
223c6d7a45dSGunnar Mills                    "longDescription": "This property shall contain the unstructured name of the subject, as defined by the RFC2985 'unstructuredName' attribute.",
224c6d7a45dSGunnar Mills                    "type": "string"
225c6d7a45dSGunnar Mills                }
226c6d7a45dSGunnar Mills            },
227c6d7a45dSGunnar Mills            "patternProperties": {
228c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
229c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
230c6d7a45dSGunnar Mills                    "type": [
231c6d7a45dSGunnar Mills                        "array",
232c6d7a45dSGunnar Mills                        "boolean",
233c6d7a45dSGunnar Mills                        "integer",
234c6d7a45dSGunnar Mills                        "number",
235c6d7a45dSGunnar Mills                        "null",
236c6d7a45dSGunnar Mills                        "object",
237c6d7a45dSGunnar Mills                        "string"
238c6d7a45dSGunnar Mills                    ]
239c6d7a45dSGunnar Mills                }
240c6d7a45dSGunnar Mills            },
241c6d7a45dSGunnar Mills            "properties": {
242c6d7a45dSGunnar Mills                "target": {
243c6d7a45dSGunnar Mills                    "description": "Link to invoke action",
244c6d7a45dSGunnar Mills                    "format": "uri-reference",
245c6d7a45dSGunnar Mills                    "type": "string"
246c6d7a45dSGunnar Mills                },
247c6d7a45dSGunnar Mills                "title": {
248c6d7a45dSGunnar Mills                    "description": "Friendly action name",
249c6d7a45dSGunnar Mills                    "type": "string"
250c6d7a45dSGunnar Mills                }
251c6d7a45dSGunnar Mills            },
252c6d7a45dSGunnar Mills            "type": "object"
253c6d7a45dSGunnar Mills        },
254c6d7a45dSGunnar Mills        "GenerateCSRResponse": {
255c6d7a45dSGunnar Mills            "additionalProperties": false,
256c6d7a45dSGunnar Mills            "description": "The response body for the `GenerateCSR` action.",
257c6d7a45dSGunnar Mills            "longDescription": "This type shall contain the properties found in the response body for the `GenerateCSR` action.",
258c6d7a45dSGunnar Mills            "patternProperties": {
259c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
260c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
261c6d7a45dSGunnar Mills                    "type": [
262c6d7a45dSGunnar Mills                        "array",
263c6d7a45dSGunnar Mills                        "boolean",
264c6d7a45dSGunnar Mills                        "integer",
265c6d7a45dSGunnar Mills                        "number",
266c6d7a45dSGunnar Mills                        "null",
267c6d7a45dSGunnar Mills                        "object",
268c6d7a45dSGunnar Mills                        "string"
269c6d7a45dSGunnar Mills                    ]
270c6d7a45dSGunnar Mills                }
271c6d7a45dSGunnar Mills            },
272c6d7a45dSGunnar Mills            "properties": {
273c6d7a45dSGunnar Mills                "CSRString": {
274c6d7a45dSGunnar Mills                    "description": "The string for the certificate signing request.",
275c6d7a45dSGunnar 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.",
276c6d7a45dSGunnar Mills                    "readonly": true,
277c6d7a45dSGunnar Mills                    "type": "string"
278c6d7a45dSGunnar Mills                },
279c6d7a45dSGunnar Mills                "CertificateCollection": {
280c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateCollection.json#/definitions/CertificateCollection",
281c6d7a45dSGunnar Mills                    "description": "The link to the certificate collection where the certificate is installed.",
282c6d7a45dSGunnar 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.",
283c6d7a45dSGunnar Mills                    "readonly": true
284c6d7a45dSGunnar Mills                }
285c6d7a45dSGunnar Mills            },
286c6d7a45dSGunnar Mills            "required": [
287c6d7a45dSGunnar Mills                "CertificateCollection",
288c6d7a45dSGunnar Mills                "CSRString"
289c6d7a45dSGunnar Mills            ],
290c6d7a45dSGunnar Mills            "type": "object"
291c6d7a45dSGunnar Mills        },
292c6d7a45dSGunnar Mills        "OemActions": {
293c6d7a45dSGunnar Mills            "additionalProperties": true,
294c6d7a45dSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
295c6d7a45dSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
296c6d7a45dSGunnar Mills            "patternProperties": {
297c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
298c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
299c6d7a45dSGunnar Mills                    "type": [
300c6d7a45dSGunnar Mills                        "array",
301c6d7a45dSGunnar Mills                        "boolean",
302c6d7a45dSGunnar Mills                        "integer",
303c6d7a45dSGunnar Mills                        "number",
304c6d7a45dSGunnar Mills                        "null",
305c6d7a45dSGunnar Mills                        "object",
306c6d7a45dSGunnar Mills                        "string"
307c6d7a45dSGunnar Mills                    ]
308c6d7a45dSGunnar Mills                }
309c6d7a45dSGunnar Mills            },
310c6d7a45dSGunnar Mills            "properties": {},
311c6d7a45dSGunnar Mills            "type": "object"
312c6d7a45dSGunnar Mills        },
313c6d7a45dSGunnar Mills        "ReplaceCertificate": {
314c6d7a45dSGunnar Mills            "additionalProperties": false,
315c6d7a45dSGunnar Mills            "description": "This action replaces a certificate.",
316c6d7a45dSGunnar Mills            "longDescription": "This action shall replace a certificate.  The `Location` header in the response shall contain the URI of the new certificate resource.",
317c6d7a45dSGunnar Mills            "parameters": {
318c6d7a45dSGunnar Mills                "CertificateString": {
319c6d7a45dSGunnar Mills                    "description": "The string for the certificate.",
320c6d7a45dSGunnar 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.",
321c6d7a45dSGunnar Mills                    "requiredParameter": true,
322c6d7a45dSGunnar Mills                    "type": "string"
323c6d7a45dSGunnar Mills                },
324c6d7a45dSGunnar Mills                "CertificateType": {
325c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/CertificateType",
326c6d7a45dSGunnar Mills                    "description": "The format of the certificate.",
327c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain the format type for the certificate.",
328c6d7a45dSGunnar Mills                    "requiredParameter": true
329c6d7a45dSGunnar Mills                },
330c6d7a45dSGunnar Mills                "CertificateUri": {
331c6d7a45dSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/Certificate",
332c6d7a45dSGunnar Mills                    "description": "The link to the certificate that is being replaced.",
333c6d7a45dSGunnar Mills                    "longDescription": "This parameter shall contain a link to a resource of type `Certificate` that is being replaced.",
334c6d7a45dSGunnar Mills                    "requiredParameter": true
335c6d7a45dSGunnar Mills                },
336c6d7a45dSGunnar Mills                "Password": {
337c6d7a45dSGunnar Mills                    "description": "The password for the certificate.",
338c6d7a45dSGunnar 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.",
339c6d7a45dSGunnar Mills                    "type": "string",
340c6d7a45dSGunnar Mills                    "versionAdded": "v1_1_0"
341c6d7a45dSGunnar Mills                }
342c6d7a45dSGunnar Mills            },
343c6d7a45dSGunnar Mills            "patternProperties": {
344c6d7a45dSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
345c6d7a45dSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
346c6d7a45dSGunnar Mills                    "type": [
347c6d7a45dSGunnar Mills                        "array",
348c6d7a45dSGunnar Mills                        "boolean",
349c6d7a45dSGunnar Mills                        "integer",
350c6d7a45dSGunnar Mills                        "number",
351c6d7a45dSGunnar Mills                        "null",
352c6d7a45dSGunnar Mills                        "object",
353c6d7a45dSGunnar Mills                        "string"
354c6d7a45dSGunnar Mills                    ]
355c6d7a45dSGunnar Mills                }
356c6d7a45dSGunnar Mills            },
357c6d7a45dSGunnar Mills            "properties": {
358c6d7a45dSGunnar Mills                "target": {
359c6d7a45dSGunnar Mills                    "description": "Link to invoke action",
360c6d7a45dSGunnar Mills                    "format": "uri-reference",
361c6d7a45dSGunnar Mills                    "type": "string"
362c6d7a45dSGunnar Mills                },
363c6d7a45dSGunnar Mills                "title": {
364c6d7a45dSGunnar Mills                    "description": "Friendly action name",
365c6d7a45dSGunnar Mills                    "type": "string"
366c6d7a45dSGunnar Mills                }
367c6d7a45dSGunnar Mills            },
368c6d7a45dSGunnar Mills            "type": "object"
369c6d7a45dSGunnar Mills        }
370c6d7a45dSGunnar Mills    },
371c6d7a45dSGunnar Mills    "language": "en",
372c6d7a45dSGunnar Mills    "owningEntity": "DMTF",
373c6d7a45dSGunnar Mills    "release": "2025.1",
374c6d7a45dSGunnar Mills    "title": "#CertificateService.v1_1_0.CertificateService"
375c6d7a45dSGunnar Mills}