xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/Certificate.v1_11_0.json (revision 5ecf7b4e1bb6988dd3403fa80b723afbe2be30ae)
1*5ecf7b4eSGunnar Mills{
2*5ecf7b4eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/Certificate.v1_11_0.json",
3*5ecf7b4eSGunnar Mills    "$ref": "#/definitions/Certificate",
4*5ecf7b4eSGunnar Mills    "$schema": "http://redfish.dmtf.org/schemas/v1/redfish-schema-v1.json",
5*5ecf7b4eSGunnar Mills    "copyright": "Copyright 2014-2025 DMTF. For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright",
6*5ecf7b4eSGunnar Mills    "definitions": {
7*5ecf7b4eSGunnar Mills        "Actions": {
8*5ecf7b4eSGunnar Mills            "additionalProperties": false,
9*5ecf7b4eSGunnar Mills            "description": "The available actions for this resource.",
10*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the available actions for this resource.",
11*5ecf7b4eSGunnar Mills            "patternProperties": {
12*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
13*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
14*5ecf7b4eSGunnar Mills                    "type": [
15*5ecf7b4eSGunnar Mills                        "array",
16*5ecf7b4eSGunnar Mills                        "boolean",
17*5ecf7b4eSGunnar Mills                        "integer",
18*5ecf7b4eSGunnar Mills                        "number",
19*5ecf7b4eSGunnar Mills                        "null",
20*5ecf7b4eSGunnar Mills                        "object",
21*5ecf7b4eSGunnar Mills                        "string"
22*5ecf7b4eSGunnar Mills                    ]
23*5ecf7b4eSGunnar Mills                }
24*5ecf7b4eSGunnar Mills            },
25*5ecf7b4eSGunnar Mills            "properties": {
26*5ecf7b4eSGunnar Mills                "#Certificate.ForceAutomaticRenew": {
27*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/ForceAutomaticRenew"
28*5ecf7b4eSGunnar Mills                },
29*5ecf7b4eSGunnar Mills                "#Certificate.Rekey": {
30*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Rekey"
31*5ecf7b4eSGunnar Mills                },
32*5ecf7b4eSGunnar Mills                "#Certificate.Renew": {
33*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Renew"
34*5ecf7b4eSGunnar Mills                },
35*5ecf7b4eSGunnar Mills                "Oem": {
36*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/OemActions",
37*5ecf7b4eSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
38*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
39*5ecf7b4eSGunnar Mills                }
40*5ecf7b4eSGunnar Mills            },
41*5ecf7b4eSGunnar Mills            "type": "object"
42*5ecf7b4eSGunnar Mills        },
43*5ecf7b4eSGunnar Mills        "Certificate": {
44*5ecf7b4eSGunnar Mills            "additionalProperties": false,
45*5ecf7b4eSGunnar Mills            "description": "The `Certificate` schema describes a certificate that proves the identity of a component, account, or service.",
46*5ecf7b4eSGunnar Mills            "longDescription": "This resource shall represent a certificate for a Redfish implementation.",
47*5ecf7b4eSGunnar Mills            "patternProperties": {
48*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
49*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
50*5ecf7b4eSGunnar Mills                    "type": [
51*5ecf7b4eSGunnar Mills                        "array",
52*5ecf7b4eSGunnar Mills                        "boolean",
53*5ecf7b4eSGunnar Mills                        "integer",
54*5ecf7b4eSGunnar Mills                        "number",
55*5ecf7b4eSGunnar Mills                        "null",
56*5ecf7b4eSGunnar Mills                        "object",
57*5ecf7b4eSGunnar Mills                        "string"
58*5ecf7b4eSGunnar Mills                    ]
59*5ecf7b4eSGunnar Mills                }
60*5ecf7b4eSGunnar Mills            },
61*5ecf7b4eSGunnar Mills            "properties": {
62*5ecf7b4eSGunnar Mills                "@odata.context": {
63*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
64*5ecf7b4eSGunnar Mills                },
65*5ecf7b4eSGunnar Mills                "@odata.etag": {
66*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
67*5ecf7b4eSGunnar Mills                },
68*5ecf7b4eSGunnar Mills                "@odata.id": {
69*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
70*5ecf7b4eSGunnar Mills                },
71*5ecf7b4eSGunnar Mills                "@odata.type": {
72*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
73*5ecf7b4eSGunnar Mills                },
74*5ecf7b4eSGunnar Mills                "Actions": {
75*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Actions",
76*5ecf7b4eSGunnar Mills                    "description": "The available actions for this resource.",
77*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
78*5ecf7b4eSGunnar Mills                },
79*5ecf7b4eSGunnar Mills                "CertificateString": {
80*5ecf7b4eSGunnar Mills                    "description": "The string for the certificate.",
81*5ecf7b4eSGunnar Mills                    "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.  For additional property requirements, see the corresponding definition in the Redfish Data Model Specification.",
82*5ecf7b4eSGunnar Mills                    "readonly": true,
83*5ecf7b4eSGunnar Mills                    "type": [
84*5ecf7b4eSGunnar Mills                        "string",
85*5ecf7b4eSGunnar Mills                        "null"
86*5ecf7b4eSGunnar Mills                    ]
87*5ecf7b4eSGunnar Mills                },
88*5ecf7b4eSGunnar Mills                "CertificateType": {
89*5ecf7b4eSGunnar Mills                    "anyOf": [
90*5ecf7b4eSGunnar Mills                        {
91*5ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/CertificateType"
92*5ecf7b4eSGunnar Mills                        },
93*5ecf7b4eSGunnar Mills                        {
94*5ecf7b4eSGunnar Mills                            "type": "null"
95*5ecf7b4eSGunnar Mills                        }
96*5ecf7b4eSGunnar Mills                    ],
97*5ecf7b4eSGunnar Mills                    "description": "The format of the certificate.",
98*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the format type for the certificate.  For additional property requirements, see the corresponding definition in the Redfish Data Model Specification.",
99*5ecf7b4eSGunnar Mills                    "readonly": true
100*5ecf7b4eSGunnar Mills                },
101*5ecf7b4eSGunnar Mills                "CertificateUsageTypes": {
102*5ecf7b4eSGunnar Mills                    "description": "The types or purposes for this certificate.",
103*5ecf7b4eSGunnar Mills                    "items": {
104*5ecf7b4eSGunnar Mills                        "anyOf": [
105*5ecf7b4eSGunnar Mills                            {
106*5ecf7b4eSGunnar Mills                                "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/CertificateUsageType"
107*5ecf7b4eSGunnar Mills                            },
108*5ecf7b4eSGunnar Mills                            {
109*5ecf7b4eSGunnar Mills                                "type": "null"
110*5ecf7b4eSGunnar Mills                            }
111*5ecf7b4eSGunnar Mills                        ]
112*5ecf7b4eSGunnar Mills                    },
113*5ecf7b4eSGunnar Mills                    "longDescription": "The value of this property shall contain an array describing the types or purposes for this certificate.",
114*5ecf7b4eSGunnar Mills                    "readonly": true,
115*5ecf7b4eSGunnar Mills                    "type": "array",
116*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_4_0"
117*5ecf7b4eSGunnar Mills                },
118*5ecf7b4eSGunnar Mills                "Description": {
119*5ecf7b4eSGunnar Mills                    "anyOf": [
120*5ecf7b4eSGunnar Mills                        {
121*5ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
122*5ecf7b4eSGunnar Mills                        },
123*5ecf7b4eSGunnar Mills                        {
124*5ecf7b4eSGunnar Mills                            "type": "null"
125*5ecf7b4eSGunnar Mills                        }
126*5ecf7b4eSGunnar Mills                    ],
127*5ecf7b4eSGunnar Mills                    "readonly": true
128*5ecf7b4eSGunnar Mills                },
129*5ecf7b4eSGunnar Mills                "Fingerprint": {
130*5ecf7b4eSGunnar Mills                    "description": "The fingerprint of the certificate.",
131*5ecf7b4eSGunnar Mills                    "longDescription": "The value of this property shall be a string containing the ASCII representation of the fingerprint of the certificate.  The hash algorithm used to generate this fingerprint shall be specified by the `FingerprintHashAlgorithm` property.",
132*5ecf7b4eSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{2}:){0,}([0-9A-Fa-f]{2})$",
133*5ecf7b4eSGunnar Mills                    "readonly": true,
134*5ecf7b4eSGunnar Mills                    "type": "string",
135*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_3_0"
136*5ecf7b4eSGunnar Mills                },
137*5ecf7b4eSGunnar Mills                "FingerprintHashAlgorithm": {
138*5ecf7b4eSGunnar Mills                    "description": "The hash algorithm for the fingerprint of the certificate.",
139*5ecf7b4eSGunnar Mills                    "longDescription": "The value of this property shall be a string containing the hash algorithm used for generating the `Fingerprint` property.  The value shall be one of 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'.",
140*5ecf7b4eSGunnar Mills                    "readonly": true,
141*5ecf7b4eSGunnar Mills                    "type": "string",
142*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_3_0"
143*5ecf7b4eSGunnar Mills                },
144*5ecf7b4eSGunnar Mills                "Id": {
145*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
146*5ecf7b4eSGunnar Mills                    "readonly": true
147*5ecf7b4eSGunnar Mills                },
148*5ecf7b4eSGunnar Mills                "Issuer": {
149*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Identifier",
150*5ecf7b4eSGunnar Mills                    "description": "The issuer of the certificate.",
151*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an object containing information about the issuer of the certificate."
152*5ecf7b4eSGunnar Mills                },
153*5ecf7b4eSGunnar Mills                "KeyUsage": {
154*5ecf7b4eSGunnar Mills                    "description": "The key usage extension, which defines the purpose of the public keys in this certificate.",
155*5ecf7b4eSGunnar Mills                    "items": {
156*5ecf7b4eSGunnar Mills                        "anyOf": [
157*5ecf7b4eSGunnar Mills                            {
158*5ecf7b4eSGunnar Mills                                "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/KeyUsage"
159*5ecf7b4eSGunnar Mills                            },
160*5ecf7b4eSGunnar Mills                            {
161*5ecf7b4eSGunnar Mills                                "type": "null"
162*5ecf7b4eSGunnar Mills                            }
163*5ecf7b4eSGunnar Mills                        ]
164*5ecf7b4eSGunnar Mills                    },
165*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the key usage extension, which defines the purpose of the public keys in this certificate.",
166*5ecf7b4eSGunnar Mills                    "readonly": true,
167*5ecf7b4eSGunnar Mills                    "type": "array"
168*5ecf7b4eSGunnar Mills                },
169*5ecf7b4eSGunnar Mills                "Links": {
170*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Links",
171*5ecf7b4eSGunnar Mills                    "description": "The links to other resources that are related to this resource.",
172*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
173*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_4_0"
174*5ecf7b4eSGunnar Mills                },
175*5ecf7b4eSGunnar Mills                "Name": {
176*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
177*5ecf7b4eSGunnar Mills                    "readonly": true
178*5ecf7b4eSGunnar Mills                },
179*5ecf7b4eSGunnar Mills                "Oem": {
180*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
181*5ecf7b4eSGunnar Mills                    "description": "The OEM extension property.",
182*5ecf7b4eSGunnar 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."
183*5ecf7b4eSGunnar Mills                },
184*5ecf7b4eSGunnar Mills                "Password": {
185*5ecf7b4eSGunnar Mills                    "description": "The password for the certificate.",
186*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the password for the certificate contained in the `CertificateString` property.  This property shall be required in create requests if the `CertificateType` property contains `PKCS12` and the client-provided certificate is password protected.  This property shall not be present in responses.",
187*5ecf7b4eSGunnar Mills                    "readonly": false,
188*5ecf7b4eSGunnar Mills                    "type": [
189*5ecf7b4eSGunnar Mills                        "string",
190*5ecf7b4eSGunnar Mills                        "null"
191*5ecf7b4eSGunnar Mills                    ],
192*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_10_0",
193*5ecf7b4eSGunnar Mills                    "writeOnly": true
194*5ecf7b4eSGunnar Mills                },
195*5ecf7b4eSGunnar Mills                "SPDM": {
196*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/SPDM",
197*5ecf7b4eSGunnar Mills                    "description": "SPDM-related information for the certificate.",
198*5ecf7b4eSGunnar Mills                    "longDescription": "The value of this property shall contain SPDM-related information for the certificate.  This property shall only be present for SPDM certificates.",
199*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_5_0"
200*5ecf7b4eSGunnar Mills                },
201*5ecf7b4eSGunnar Mills                "SerialNumber": {
202*5ecf7b4eSGunnar Mills                    "description": "The serial number of the certificate.",
203*5ecf7b4eSGunnar Mills                    "longDescription": "The value of this property shall be a string containing the ASCII representation of the serial number of the certificate, as defined by the RFC5280 'serialNumber' field.",
204*5ecf7b4eSGunnar Mills                    "pattern": "^([0-9A-Fa-f]{2}:){0,}([0-9A-Fa-f]{2})$",
205*5ecf7b4eSGunnar Mills                    "readonly": true,
206*5ecf7b4eSGunnar Mills                    "type": "string",
207*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_3_0"
208*5ecf7b4eSGunnar Mills                },
209*5ecf7b4eSGunnar Mills                "SignatureAlgorithm": {
210*5ecf7b4eSGunnar Mills                    "description": "The algorithm used for creating the signature of the certificate.",
211*5ecf7b4eSGunnar Mills                    "longDescription": "The value of this property shall be a string containing the algorithm used for generating the signature of the certificate, as defined by the RFC5280 'signatureAlgorithm' field.  The value shall be a string representing the ASN.1 OID of the signature algorithm as defined in, but not limited to, RFC3279, RFC4055, or RFC4491.",
212*5ecf7b4eSGunnar Mills                    "readonly": true,
213*5ecf7b4eSGunnar Mills                    "type": "string",
214*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_3_0"
215*5ecf7b4eSGunnar Mills                },
216*5ecf7b4eSGunnar Mills                "Status": {
217*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Status",
218*5ecf7b4eSGunnar Mills                    "description": "The status and health of the resource and its subordinate or dependent resources.",
219*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain any status or health properties of the resource.",
220*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_10_0"
221*5ecf7b4eSGunnar Mills                },
222*5ecf7b4eSGunnar Mills                "Subject": {
223*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Identifier",
224*5ecf7b4eSGunnar Mills                    "description": "The subject of the certificate.",
225*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an object containing information about the subject of the certificate."
226*5ecf7b4eSGunnar Mills                },
227*5ecf7b4eSGunnar Mills                "UefiSignatureOwner": {
228*5ecf7b4eSGunnar Mills                    "description": "The UEFI signature owner for this certificate.",
229*5ecf7b4eSGunnar Mills                    "longDescription": "The value of this property shall contain the GUID of the UEFI signature owner for this certificate as defined by the UEFI Specification.  This property shall only be present for certificates managed by UEFI.",
230*5ecf7b4eSGunnar Mills                    "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$",
231*5ecf7b4eSGunnar Mills                    "readonly": true,
232*5ecf7b4eSGunnar Mills                    "type": [
233*5ecf7b4eSGunnar Mills                        "string",
234*5ecf7b4eSGunnar Mills                        "null"
235*5ecf7b4eSGunnar Mills                    ],
236*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
237*5ecf7b4eSGunnar Mills                },
238*5ecf7b4eSGunnar Mills                "ValidNotAfter": {
239*5ecf7b4eSGunnar Mills                    "description": "The date when the certificate is no longer valid.",
240*5ecf7b4eSGunnar Mills                    "format": "date-time",
241*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the date when the certificate validity period ends.",
242*5ecf7b4eSGunnar Mills                    "readonly": true,
243*5ecf7b4eSGunnar Mills                    "type": "string"
244*5ecf7b4eSGunnar Mills                },
245*5ecf7b4eSGunnar Mills                "ValidNotBefore": {
246*5ecf7b4eSGunnar Mills                    "description": "The date when the certificate becomes valid.",
247*5ecf7b4eSGunnar Mills                    "format": "date-time",
248*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the date when the certificate validity period begins.",
249*5ecf7b4eSGunnar Mills                    "readonly": true,
250*5ecf7b4eSGunnar Mills                    "type": "string"
251*5ecf7b4eSGunnar Mills                }
252*5ecf7b4eSGunnar Mills            },
253*5ecf7b4eSGunnar Mills            "required": [
254*5ecf7b4eSGunnar Mills                "@odata.id",
255*5ecf7b4eSGunnar Mills                "@odata.type",
256*5ecf7b4eSGunnar Mills                "Id",
257*5ecf7b4eSGunnar Mills                "Name"
258*5ecf7b4eSGunnar Mills            ],
259*5ecf7b4eSGunnar Mills            "requiredOnCreate": [
260*5ecf7b4eSGunnar Mills                "CertificateString",
261*5ecf7b4eSGunnar Mills                "CertificateType"
262*5ecf7b4eSGunnar Mills            ],
263*5ecf7b4eSGunnar Mills            "type": "object"
264*5ecf7b4eSGunnar Mills        },
265*5ecf7b4eSGunnar Mills        "ForceAutomaticRenew": {
266*5ecf7b4eSGunnar Mills            "additionalProperties": false,
267*5ecf7b4eSGunnar Mills            "description": "This action forces an automatic renewal of the certificate, if this certificate is configured for automatic certificate enrollment.",
268*5ecf7b4eSGunnar Mills            "longDescription": "This action shall force an automatic renewal of the certificate, if this certificate is configured for automatic certificate enrollment with a `CertificateEnrollment` resource.  If the certificate is not configured for automatic certificate enrollment, the service shall reject the request and return the HTTP `400 Bad Request` status code.",
269*5ecf7b4eSGunnar Mills            "parameters": {},
270*5ecf7b4eSGunnar Mills            "patternProperties": {
271*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
272*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
273*5ecf7b4eSGunnar Mills                    "type": [
274*5ecf7b4eSGunnar Mills                        "array",
275*5ecf7b4eSGunnar Mills                        "boolean",
276*5ecf7b4eSGunnar Mills                        "integer",
277*5ecf7b4eSGunnar Mills                        "number",
278*5ecf7b4eSGunnar Mills                        "null",
279*5ecf7b4eSGunnar Mills                        "object",
280*5ecf7b4eSGunnar Mills                        "string"
281*5ecf7b4eSGunnar Mills                    ]
282*5ecf7b4eSGunnar Mills                }
283*5ecf7b4eSGunnar Mills            },
284*5ecf7b4eSGunnar Mills            "properties": {
285*5ecf7b4eSGunnar Mills                "target": {
286*5ecf7b4eSGunnar Mills                    "description": "Link to invoke action",
287*5ecf7b4eSGunnar Mills                    "format": "uri-reference",
288*5ecf7b4eSGunnar Mills                    "type": "string"
289*5ecf7b4eSGunnar Mills                },
290*5ecf7b4eSGunnar Mills                "title": {
291*5ecf7b4eSGunnar Mills                    "description": "Friendly action name",
292*5ecf7b4eSGunnar Mills                    "type": "string"
293*5ecf7b4eSGunnar Mills                }
294*5ecf7b4eSGunnar Mills            },
295*5ecf7b4eSGunnar Mills            "type": "object",
296*5ecf7b4eSGunnar Mills            "versionAdded": "v1_11_0"
297*5ecf7b4eSGunnar Mills        },
298*5ecf7b4eSGunnar Mills        "Identifier": {
299*5ecf7b4eSGunnar Mills            "additionalProperties": false,
300*5ecf7b4eSGunnar Mills            "description": "The identifier information about a certificate.",
301*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the properties that identifies the issuer or subject of a certificate.",
302*5ecf7b4eSGunnar Mills            "patternProperties": {
303*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
304*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
305*5ecf7b4eSGunnar Mills                    "type": [
306*5ecf7b4eSGunnar Mills                        "array",
307*5ecf7b4eSGunnar Mills                        "boolean",
308*5ecf7b4eSGunnar Mills                        "integer",
309*5ecf7b4eSGunnar Mills                        "number",
310*5ecf7b4eSGunnar Mills                        "null",
311*5ecf7b4eSGunnar Mills                        "object",
312*5ecf7b4eSGunnar Mills                        "string"
313*5ecf7b4eSGunnar Mills                    ]
314*5ecf7b4eSGunnar Mills                }
315*5ecf7b4eSGunnar Mills            },
316*5ecf7b4eSGunnar Mills            "properties": {
317*5ecf7b4eSGunnar Mills                "AdditionalCommonNames": {
318*5ecf7b4eSGunnar Mills                    "description": "Additional common names of the entity.",
319*5ecf7b4eSGunnar Mills                    "items": {
320*5ecf7b4eSGunnar Mills                        "type": [
321*5ecf7b4eSGunnar Mills                            "string",
322*5ecf7b4eSGunnar Mills                            "null"
323*5ecf7b4eSGunnar Mills                        ]
324*5ecf7b4eSGunnar Mills                    },
325*5ecf7b4eSGunnar Mills                    "longDescription": "The value of this property shall contain an array of additional common names for the entity, as defined by the RFC5280 'commonName' attribute, in array order as they appear in the certificate.  This property shall not be present if only one common name is found.  The first common name shall not appear in this property.",
326*5ecf7b4eSGunnar Mills                    "readonly": true,
327*5ecf7b4eSGunnar Mills                    "type": "array",
328*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_6_0"
329*5ecf7b4eSGunnar Mills                },
330*5ecf7b4eSGunnar Mills                "AdditionalOrganizationalUnits": {
331*5ecf7b4eSGunnar Mills                    "description": "Additional organizational units of the entity.",
332*5ecf7b4eSGunnar Mills                    "items": {
333*5ecf7b4eSGunnar Mills                        "type": [
334*5ecf7b4eSGunnar Mills                            "string",
335*5ecf7b4eSGunnar Mills                            "null"
336*5ecf7b4eSGunnar Mills                        ]
337*5ecf7b4eSGunnar Mills                    },
338*5ecf7b4eSGunnar Mills                    "longDescription": "The value of this property shall contain an array of additional organizational units for the entity, as defined by the RFC5280 'organizationalUnitName' attribute, in array order as they appear in the certificate.  This property shall not be present if only one organizational unit is found.  The first organizational unit shall not appear in this property.",
339*5ecf7b4eSGunnar Mills                    "readonly": true,
340*5ecf7b4eSGunnar Mills                    "type": "array",
341*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_6_0"
342*5ecf7b4eSGunnar Mills                },
343*5ecf7b4eSGunnar Mills                "AlternativeNames": {
344*5ecf7b4eSGunnar Mills                    "description": "The additional host names of the entity.",
345*5ecf7b4eSGunnar Mills                    "items": {
346*5ecf7b4eSGunnar Mills                        "type": [
347*5ecf7b4eSGunnar Mills                            "string",
348*5ecf7b4eSGunnar Mills                            "null"
349*5ecf7b4eSGunnar Mills                        ]
350*5ecf7b4eSGunnar Mills                    },
351*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the additional host names of the entity, as defined by the RFC5280 'subjectAltName' attribute.  This property shall not be present in the `Issuer` property.",
352*5ecf7b4eSGunnar Mills                    "readonly": true,
353*5ecf7b4eSGunnar Mills                    "type": "array",
354*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_7_0"
355*5ecf7b4eSGunnar Mills                },
356*5ecf7b4eSGunnar Mills                "City": {
357*5ecf7b4eSGunnar Mills                    "description": "The city or locality of the organization of the entity.",
358*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the city or locality of the organization of the entity, as defined by the RFC5280 'localityName' attribute.",
359*5ecf7b4eSGunnar Mills                    "readonly": true,
360*5ecf7b4eSGunnar Mills                    "type": "string"
361*5ecf7b4eSGunnar Mills                },
362*5ecf7b4eSGunnar Mills                "CommonName": {
363*5ecf7b4eSGunnar Mills                    "description": "The common name of the entity.",
364*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the common name of the entity, as defined by the RFC5280 'commonName' attribute.",
365*5ecf7b4eSGunnar Mills                    "readonly": true,
366*5ecf7b4eSGunnar Mills                    "type": "string"
367*5ecf7b4eSGunnar Mills                },
368*5ecf7b4eSGunnar Mills                "Country": {
369*5ecf7b4eSGunnar Mills                    "description": "The country of the organization of the entity.",
370*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the two-letter ISO code for the country of the organization of the entity, as defined by the RFC5280 'countryName' attribute.",
371*5ecf7b4eSGunnar Mills                    "readonly": true,
372*5ecf7b4eSGunnar Mills                    "type": "string"
373*5ecf7b4eSGunnar Mills                },
374*5ecf7b4eSGunnar Mills                "DisplayString": {
375*5ecf7b4eSGunnar Mills                    "description": "A human-readable string for this identifier.",
376*5ecf7b4eSGunnar Mills                    "longDescription": "The value of this property shall contain a display string that represents the entire identifier.  The string should be formatted using industry conventions, such as the single-line human-readable string described by RFC2253 and preserving the field order as shown in the certificate.",
377*5ecf7b4eSGunnar Mills                    "readonly": true,
378*5ecf7b4eSGunnar Mills                    "type": [
379*5ecf7b4eSGunnar Mills                        "string",
380*5ecf7b4eSGunnar Mills                        "null"
381*5ecf7b4eSGunnar Mills                    ],
382*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_6_0"
383*5ecf7b4eSGunnar Mills                },
384*5ecf7b4eSGunnar Mills                "DomainComponents": {
385*5ecf7b4eSGunnar Mills                    "description": "The domain components of the entity.",
386*5ecf7b4eSGunnar Mills                    "items": {
387*5ecf7b4eSGunnar Mills                        "type": [
388*5ecf7b4eSGunnar Mills                            "string",
389*5ecf7b4eSGunnar Mills                            "null"
390*5ecf7b4eSGunnar Mills                        ]
391*5ecf7b4eSGunnar Mills                    },
392*5ecf7b4eSGunnar Mills                    "longDescription": "The value of this property shall contain an array of domain component fields for the entity, as defined by the RFC4519 'domainComponent' attribute, in array order as they appear in the certificate.",
393*5ecf7b4eSGunnar Mills                    "readonly": true,
394*5ecf7b4eSGunnar Mills                    "type": "array",
395*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_6_0"
396*5ecf7b4eSGunnar Mills                },
397*5ecf7b4eSGunnar Mills                "Email": {
398*5ecf7b4eSGunnar Mills                    "description": "The email address of the contact within the organization of the entity.",
399*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the email address of the contact within the organization of the entity, as defined by the RFC2985 'emailAddress' attribute.",
400*5ecf7b4eSGunnar Mills                    "readonly": true,
401*5ecf7b4eSGunnar Mills                    "type": [
402*5ecf7b4eSGunnar Mills                        "string",
403*5ecf7b4eSGunnar Mills                        "null"
404*5ecf7b4eSGunnar Mills                    ]
405*5ecf7b4eSGunnar Mills                },
406*5ecf7b4eSGunnar Mills                "Organization": {
407*5ecf7b4eSGunnar Mills                    "description": "The name of the organization of the entity.",
408*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the name of the organization of the entity, as defined by the RFC5280 'organizationName' attribute.",
409*5ecf7b4eSGunnar Mills                    "readonly": true,
410*5ecf7b4eSGunnar Mills                    "type": "string"
411*5ecf7b4eSGunnar Mills                },
412*5ecf7b4eSGunnar Mills                "OrganizationalUnit": {
413*5ecf7b4eSGunnar Mills                    "description": "The name of the unit or division of the organization of the entity.",
414*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the name of the unit or division of the organization of the entity, as defined by the RFC5280 'organizationalUnitName' attribute.",
415*5ecf7b4eSGunnar Mills                    "readonly": true,
416*5ecf7b4eSGunnar Mills                    "type": "string"
417*5ecf7b4eSGunnar Mills                },
418*5ecf7b4eSGunnar Mills                "State": {
419*5ecf7b4eSGunnar Mills                    "description": "The state, province, or region of the organization of the entity.",
420*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the state, province, or region of the organization of the entity, as defined by the RFC5280 'stateOrProvinceName' attribute.",
421*5ecf7b4eSGunnar Mills                    "readonly": true,
422*5ecf7b4eSGunnar Mills                    "type": "string"
423*5ecf7b4eSGunnar Mills                }
424*5ecf7b4eSGunnar Mills            },
425*5ecf7b4eSGunnar Mills            "type": "object"
426*5ecf7b4eSGunnar Mills        },
427*5ecf7b4eSGunnar Mills        "Links": {
428*5ecf7b4eSGunnar Mills            "additionalProperties": false,
429*5ecf7b4eSGunnar Mills            "description": "The links to other resources that are related to this resource.",
430*5ecf7b4eSGunnar Mills            "longDescription": "This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource.",
431*5ecf7b4eSGunnar Mills            "patternProperties": {
432*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
433*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
434*5ecf7b4eSGunnar Mills                    "type": [
435*5ecf7b4eSGunnar Mills                        "array",
436*5ecf7b4eSGunnar Mills                        "boolean",
437*5ecf7b4eSGunnar Mills                        "integer",
438*5ecf7b4eSGunnar Mills                        "number",
439*5ecf7b4eSGunnar Mills                        "null",
440*5ecf7b4eSGunnar Mills                        "object",
441*5ecf7b4eSGunnar Mills                        "string"
442*5ecf7b4eSGunnar Mills                    ]
443*5ecf7b4eSGunnar Mills                }
444*5ecf7b4eSGunnar Mills            },
445*5ecf7b4eSGunnar Mills            "properties": {
446*5ecf7b4eSGunnar Mills                "Issuer": {
447*5ecf7b4eSGunnar Mills                    "anyOf": [
448*5ecf7b4eSGunnar Mills                        {
449*5ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/Certificate"
450*5ecf7b4eSGunnar Mills                        },
451*5ecf7b4eSGunnar Mills                        {
452*5ecf7b4eSGunnar Mills                            "type": "null"
453*5ecf7b4eSGunnar Mills                        }
454*5ecf7b4eSGunnar Mills                    ],
455*5ecf7b4eSGunnar Mills                    "description": "A link to the certificate of the CA that issued this certificate.",
456*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a link to a resources of type `Certificate` that represents the certificate of the CA that issued this certificate.",
457*5ecf7b4eSGunnar Mills                    "readonly": false,
458*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_4_0"
459*5ecf7b4eSGunnar Mills                },
460*5ecf7b4eSGunnar Mills                "Oem": {
461*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
462*5ecf7b4eSGunnar Mills                    "description": "The OEM extension property.",
463*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the OEM extensions.  All values for properties contained in this object shall conform to the Redfish Specification-described requirements."
464*5ecf7b4eSGunnar Mills                },
465*5ecf7b4eSGunnar Mills                "Subjects": {
466*5ecf7b4eSGunnar Mills                    "description": "An array of links to certificates that were issued by the CA that is represented by this certificate.",
467*5ecf7b4eSGunnar Mills                    "items": {
468*5ecf7b4eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/Certificate"
469*5ecf7b4eSGunnar Mills                    },
470*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array of links to resources of type `Certificate` that were issued by the CA that is represented by this certificate.",
471*5ecf7b4eSGunnar Mills                    "readonly": false,
472*5ecf7b4eSGunnar Mills                    "type": "array",
473*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_4_0"
474*5ecf7b4eSGunnar Mills                },
475*5ecf7b4eSGunnar Mills                "Subjects@odata.count": {
476*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/count"
477*5ecf7b4eSGunnar Mills                }
478*5ecf7b4eSGunnar Mills            },
479*5ecf7b4eSGunnar Mills            "type": "object"
480*5ecf7b4eSGunnar Mills        },
481*5ecf7b4eSGunnar Mills        "OemActions": {
482*5ecf7b4eSGunnar Mills            "additionalProperties": true,
483*5ecf7b4eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
484*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
485*5ecf7b4eSGunnar Mills            "patternProperties": {
486*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
487*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
488*5ecf7b4eSGunnar Mills                    "type": [
489*5ecf7b4eSGunnar Mills                        "array",
490*5ecf7b4eSGunnar Mills                        "boolean",
491*5ecf7b4eSGunnar Mills                        "integer",
492*5ecf7b4eSGunnar Mills                        "number",
493*5ecf7b4eSGunnar Mills                        "null",
494*5ecf7b4eSGunnar Mills                        "object",
495*5ecf7b4eSGunnar Mills                        "string"
496*5ecf7b4eSGunnar Mills                    ]
497*5ecf7b4eSGunnar Mills                }
498*5ecf7b4eSGunnar Mills            },
499*5ecf7b4eSGunnar Mills            "properties": {},
500*5ecf7b4eSGunnar Mills            "type": "object"
501*5ecf7b4eSGunnar Mills        },
502*5ecf7b4eSGunnar Mills        "Rekey": {
503*5ecf7b4eSGunnar Mills            "actionResponse": {
504*5ecf7b4eSGunnar Mills                "$ref": "#/definitions/RekeyResponse"
505*5ecf7b4eSGunnar Mills            },
506*5ecf7b4eSGunnar Mills            "additionalProperties": false,
507*5ecf7b4eSGunnar Mills            "description": "This action generates a new key-pair for a certificate and produces a certificate signing request.",
508*5ecf7b4eSGunnar Mills            "longDescription": "This action shall use the certificate data to generate a new key-pair for a certificate.  The response shall contain a signing request that a certificate authority (CA) will sign.  The service should retain the private key that generated this request for installation of the certificate.  The private key should not be part of the response.  The private key should not be part of the response.",
509*5ecf7b4eSGunnar Mills            "parameters": {
510*5ecf7b4eSGunnar Mills                "ChallengePassword": {
511*5ecf7b4eSGunnar Mills                    "description": "The challenge password to apply to the certificate for revocation requests.",
512*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the challenge password to apply to the certificate for revocation requests as defined by the RFC2985 'challengePassword' attribute.",
513*5ecf7b4eSGunnar Mills                    "type": "string"
514*5ecf7b4eSGunnar Mills                },
515*5ecf7b4eSGunnar Mills                "KeyBitLength": {
516*5ecf7b4eSGunnar Mills                    "description": "The length of the key, in bits, if needed based on the `KeyPairAlgorithm` parameter value.",
517*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the length of the key, in bits, if needed based on the `KeyPairAlgorithm` parameter value.",
518*5ecf7b4eSGunnar Mills                    "type": "integer"
519*5ecf7b4eSGunnar Mills                },
520*5ecf7b4eSGunnar Mills                "KeyCurveId": {
521*5ecf7b4eSGunnar Mills                    "description": "The curve ID to use with the key, if needed based on the `KeyPairAlgorithm` parameter value.",
522*5ecf7b4eSGunnar 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'.",
523*5ecf7b4eSGunnar Mills                    "type": "string"
524*5ecf7b4eSGunnar Mills                },
525*5ecf7b4eSGunnar Mills                "KeyPairAlgorithm": {
526*5ecf7b4eSGunnar Mills                    "description": "The type of key-pair for use with signing algorithms.",
527*5ecf7b4eSGunnar 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'.",
528*5ecf7b4eSGunnar Mills                    "type": "string"
529*5ecf7b4eSGunnar Mills                }
530*5ecf7b4eSGunnar Mills            },
531*5ecf7b4eSGunnar Mills            "patternProperties": {
532*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
533*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
534*5ecf7b4eSGunnar Mills                    "type": [
535*5ecf7b4eSGunnar Mills                        "array",
536*5ecf7b4eSGunnar Mills                        "boolean",
537*5ecf7b4eSGunnar Mills                        "integer",
538*5ecf7b4eSGunnar Mills                        "number",
539*5ecf7b4eSGunnar Mills                        "null",
540*5ecf7b4eSGunnar Mills                        "object",
541*5ecf7b4eSGunnar Mills                        "string"
542*5ecf7b4eSGunnar Mills                    ]
543*5ecf7b4eSGunnar Mills                }
544*5ecf7b4eSGunnar Mills            },
545*5ecf7b4eSGunnar Mills            "properties": {
546*5ecf7b4eSGunnar Mills                "target": {
547*5ecf7b4eSGunnar Mills                    "description": "Link to invoke action",
548*5ecf7b4eSGunnar Mills                    "format": "uri-reference",
549*5ecf7b4eSGunnar Mills                    "type": "string"
550*5ecf7b4eSGunnar Mills                },
551*5ecf7b4eSGunnar Mills                "title": {
552*5ecf7b4eSGunnar Mills                    "description": "Friendly action name",
553*5ecf7b4eSGunnar Mills                    "type": "string"
554*5ecf7b4eSGunnar Mills                }
555*5ecf7b4eSGunnar Mills            },
556*5ecf7b4eSGunnar Mills            "type": "object",
557*5ecf7b4eSGunnar Mills            "versionAdded": "v1_1_0"
558*5ecf7b4eSGunnar Mills        },
559*5ecf7b4eSGunnar Mills        "RekeyResponse": {
560*5ecf7b4eSGunnar Mills            "additionalProperties": false,
561*5ecf7b4eSGunnar Mills            "description": "The response body for the `Rekey` action.",
562*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the properties found in the response body for the `Rekey` action.",
563*5ecf7b4eSGunnar Mills            "patternProperties": {
564*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
565*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
566*5ecf7b4eSGunnar Mills                    "type": [
567*5ecf7b4eSGunnar Mills                        "array",
568*5ecf7b4eSGunnar Mills                        "boolean",
569*5ecf7b4eSGunnar Mills                        "integer",
570*5ecf7b4eSGunnar Mills                        "number",
571*5ecf7b4eSGunnar Mills                        "null",
572*5ecf7b4eSGunnar Mills                        "object",
573*5ecf7b4eSGunnar Mills                        "string"
574*5ecf7b4eSGunnar Mills                    ]
575*5ecf7b4eSGunnar Mills                }
576*5ecf7b4eSGunnar Mills            },
577*5ecf7b4eSGunnar Mills            "properties": {
578*5ecf7b4eSGunnar Mills                "CSRString": {
579*5ecf7b4eSGunnar Mills                    "description": "The string for the certificate signing request.",
580*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the certificate signing request as a PEM-encoded string, containing structures specified by RFC2986.  The private key should not be part of the string.",
581*5ecf7b4eSGunnar Mills                    "readonly": true,
582*5ecf7b4eSGunnar Mills                    "type": "string",
583*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_1_0"
584*5ecf7b4eSGunnar Mills                },
585*5ecf7b4eSGunnar Mills                "Certificate": {
586*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/Certificate",
587*5ecf7b4eSGunnar Mills                    "description": "The link to the certificate being rekeyed.",
588*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `Certificate` that is replaced after the certificate authority (CA) signs the certificate.",
589*5ecf7b4eSGunnar Mills                    "readonly": true,
590*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_1_0"
591*5ecf7b4eSGunnar Mills                }
592*5ecf7b4eSGunnar Mills            },
593*5ecf7b4eSGunnar Mills            "required": [
594*5ecf7b4eSGunnar Mills                "Certificate",
595*5ecf7b4eSGunnar Mills                "CSRString"
596*5ecf7b4eSGunnar Mills            ],
597*5ecf7b4eSGunnar Mills            "type": "object"
598*5ecf7b4eSGunnar Mills        },
599*5ecf7b4eSGunnar Mills        "Renew": {
600*5ecf7b4eSGunnar Mills            "actionResponse": {
601*5ecf7b4eSGunnar Mills                "$ref": "#/definitions/RenewResponse"
602*5ecf7b4eSGunnar Mills            },
603*5ecf7b4eSGunnar Mills            "additionalProperties": false,
604*5ecf7b4eSGunnar Mills            "description": "This action generates a certificate signing request by using the existing information and key-pair of the certificate.",
605*5ecf7b4eSGunnar Mills            "longDescription": "This action shall generate a certificate signing request using the existing information and key-pair of the certificate.  The response shall contain a signing request that a certificate authority (CA) will sign.  The service should retain the private key that this request generates for when the certificate is installed.  The private key should not be part of the response.",
606*5ecf7b4eSGunnar Mills            "parameters": {
607*5ecf7b4eSGunnar Mills                "ChallengePassword": {
608*5ecf7b4eSGunnar Mills                    "description": "The challenge password to apply to the certificate for revocation requests.",
609*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the challenge password to apply to the certificate for revocation requests as defined by the RFC2985 'challengePassword' attribute.",
610*5ecf7b4eSGunnar Mills                    "type": "string"
611*5ecf7b4eSGunnar Mills                }
612*5ecf7b4eSGunnar Mills            },
613*5ecf7b4eSGunnar Mills            "patternProperties": {
614*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
615*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
616*5ecf7b4eSGunnar Mills                    "type": [
617*5ecf7b4eSGunnar Mills                        "array",
618*5ecf7b4eSGunnar Mills                        "boolean",
619*5ecf7b4eSGunnar Mills                        "integer",
620*5ecf7b4eSGunnar Mills                        "number",
621*5ecf7b4eSGunnar Mills                        "null",
622*5ecf7b4eSGunnar Mills                        "object",
623*5ecf7b4eSGunnar Mills                        "string"
624*5ecf7b4eSGunnar Mills                    ]
625*5ecf7b4eSGunnar Mills                }
626*5ecf7b4eSGunnar Mills            },
627*5ecf7b4eSGunnar Mills            "properties": {
628*5ecf7b4eSGunnar Mills                "target": {
629*5ecf7b4eSGunnar Mills                    "description": "Link to invoke action",
630*5ecf7b4eSGunnar Mills                    "format": "uri-reference",
631*5ecf7b4eSGunnar Mills                    "type": "string"
632*5ecf7b4eSGunnar Mills                },
633*5ecf7b4eSGunnar Mills                "title": {
634*5ecf7b4eSGunnar Mills                    "description": "Friendly action name",
635*5ecf7b4eSGunnar Mills                    "type": "string"
636*5ecf7b4eSGunnar Mills                }
637*5ecf7b4eSGunnar Mills            },
638*5ecf7b4eSGunnar Mills            "type": "object",
639*5ecf7b4eSGunnar Mills            "versionAdded": "v1_1_0"
640*5ecf7b4eSGunnar Mills        },
641*5ecf7b4eSGunnar Mills        "RenewResponse": {
642*5ecf7b4eSGunnar Mills            "additionalProperties": false,
643*5ecf7b4eSGunnar Mills            "description": "The response body for the `Renew` action.",
644*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the properties found in the response body for the `Renew` action.",
645*5ecf7b4eSGunnar Mills            "patternProperties": {
646*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
647*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
648*5ecf7b4eSGunnar Mills                    "type": [
649*5ecf7b4eSGunnar Mills                        "array",
650*5ecf7b4eSGunnar Mills                        "boolean",
651*5ecf7b4eSGunnar Mills                        "integer",
652*5ecf7b4eSGunnar Mills                        "number",
653*5ecf7b4eSGunnar Mills                        "null",
654*5ecf7b4eSGunnar Mills                        "object",
655*5ecf7b4eSGunnar Mills                        "string"
656*5ecf7b4eSGunnar Mills                    ]
657*5ecf7b4eSGunnar Mills                }
658*5ecf7b4eSGunnar Mills            },
659*5ecf7b4eSGunnar Mills            "properties": {
660*5ecf7b4eSGunnar Mills                "CSRString": {
661*5ecf7b4eSGunnar Mills                    "description": "The string for the certificate signing request.",
662*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the certificate signing request as a PEM-encoded string, containing structures specified by RFC2986.  The private key should not be part of the string.",
663*5ecf7b4eSGunnar Mills                    "readonly": true,
664*5ecf7b4eSGunnar Mills                    "type": "string",
665*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_1_0"
666*5ecf7b4eSGunnar Mills                },
667*5ecf7b4eSGunnar Mills                "Certificate": {
668*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/Certificate",
669*5ecf7b4eSGunnar Mills                    "description": "The link to the certificate being renewed.",
670*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `Certificate` that is replaced after the certificate authority (CA) signs the certificate.",
671*5ecf7b4eSGunnar Mills                    "readonly": true,
672*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_1_0"
673*5ecf7b4eSGunnar Mills                }
674*5ecf7b4eSGunnar Mills            },
675*5ecf7b4eSGunnar Mills            "required": [
676*5ecf7b4eSGunnar Mills                "Certificate",
677*5ecf7b4eSGunnar Mills                "CSRString"
678*5ecf7b4eSGunnar Mills            ],
679*5ecf7b4eSGunnar Mills            "type": "object"
680*5ecf7b4eSGunnar Mills        },
681*5ecf7b4eSGunnar Mills        "SPDM": {
682*5ecf7b4eSGunnar Mills            "additionalProperties": false,
683*5ecf7b4eSGunnar Mills            "description": "SPDM-related information for a certificate.",
684*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain SPDM-related information for a certificate.",
685*5ecf7b4eSGunnar Mills            "patternProperties": {
686*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
687*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
688*5ecf7b4eSGunnar Mills                    "type": [
689*5ecf7b4eSGunnar Mills                        "array",
690*5ecf7b4eSGunnar Mills                        "boolean",
691*5ecf7b4eSGunnar Mills                        "integer",
692*5ecf7b4eSGunnar Mills                        "number",
693*5ecf7b4eSGunnar Mills                        "null",
694*5ecf7b4eSGunnar Mills                        "object",
695*5ecf7b4eSGunnar Mills                        "string"
696*5ecf7b4eSGunnar Mills                    ]
697*5ecf7b4eSGunnar Mills                }
698*5ecf7b4eSGunnar Mills            },
699*5ecf7b4eSGunnar Mills            "properties": {
700*5ecf7b4eSGunnar Mills                "SlotId": {
701*5ecf7b4eSGunnar Mills                    "description": "Slot identifier of the certificate.",
702*5ecf7b4eSGunnar Mills                    "longDescription": "The value of this property shall contain an integer between 0 and 7, inclusive, that represents the slot identifier for an SPDM-provided certificate.",
703*5ecf7b4eSGunnar Mills                    "readonly": true,
704*5ecf7b4eSGunnar Mills                    "type": [
705*5ecf7b4eSGunnar Mills                        "integer",
706*5ecf7b4eSGunnar Mills                        "null"
707*5ecf7b4eSGunnar Mills                    ],
708*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_5_0"
709*5ecf7b4eSGunnar Mills                }
710*5ecf7b4eSGunnar Mills            },
711*5ecf7b4eSGunnar Mills            "type": "object"
712*5ecf7b4eSGunnar Mills        }
713*5ecf7b4eSGunnar Mills    },
714*5ecf7b4eSGunnar Mills    "language": "en",
715*5ecf7b4eSGunnar Mills    "owningEntity": "DMTF",
716*5ecf7b4eSGunnar Mills    "release": "2025.3",
717*5ecf7b4eSGunnar Mills    "title": "#Certificate.v1_11_0.Certificate"
718*5ecf7b4eSGunnar Mills}