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