xref: /openbmc/bmcweb/features/redfish/schema/dmtf/json-schema/CertificateService.v1_2_0.json (revision 5ecf7b4e1bb6988dd3403fa80b723afbe2be30ae)
1*5ecf7b4eSGunnar Mills{
2*5ecf7b4eSGunnar Mills    "$id": "http://redfish.dmtf.org/schemas/v1/CertificateService.v1_2_0.json",
3*5ecf7b4eSGunnar Mills    "$ref": "#/definitions/CertificateService",
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                "#CertificateService.GenerateCSR": {
27*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/GenerateCSR"
28*5ecf7b4eSGunnar Mills                },
29*5ecf7b4eSGunnar Mills                "#CertificateService.ReplaceCertificate": {
30*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/ReplaceCertificate"
31*5ecf7b4eSGunnar Mills                },
32*5ecf7b4eSGunnar Mills                "Oem": {
33*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/OemActions",
34*5ecf7b4eSGunnar Mills                    "description": "The available OEM-specific actions for this resource.",
35*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the available OEM-specific actions for this resource."
36*5ecf7b4eSGunnar Mills                }
37*5ecf7b4eSGunnar Mills            },
38*5ecf7b4eSGunnar Mills            "type": "object"
39*5ecf7b4eSGunnar Mills        },
40*5ecf7b4eSGunnar Mills        "AutomaticCertificateEnrollment": {
41*5ecf7b4eSGunnar Mills            "additionalProperties": false,
42*5ecf7b4eSGunnar Mills            "description": "The automatic certificate enrollment service configuration.",
43*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the configuration and status of automatic certificate enrollment.",
44*5ecf7b4eSGunnar Mills            "patternProperties": {
45*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
46*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
47*5ecf7b4eSGunnar Mills                    "type": [
48*5ecf7b4eSGunnar Mills                        "array",
49*5ecf7b4eSGunnar Mills                        "boolean",
50*5ecf7b4eSGunnar Mills                        "integer",
51*5ecf7b4eSGunnar Mills                        "number",
52*5ecf7b4eSGunnar Mills                        "null",
53*5ecf7b4eSGunnar Mills                        "object",
54*5ecf7b4eSGunnar Mills                        "string"
55*5ecf7b4eSGunnar Mills                    ]
56*5ecf7b4eSGunnar Mills                }
57*5ecf7b4eSGunnar Mills            },
58*5ecf7b4eSGunnar Mills            "properties": {
59*5ecf7b4eSGunnar Mills                "CertificatesSupported": {
60*5ecf7b4eSGunnar Mills                    "description": "The certificate usage types that support automatic enrollments for this service.",
61*5ecf7b4eSGunnar Mills                    "items": {
62*5ecf7b4eSGunnar Mills                        "anyOf": [
63*5ecf7b4eSGunnar Mills                            {
64*5ecf7b4eSGunnar Mills                                "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/CertificateUsageType"
65*5ecf7b4eSGunnar Mills                            },
66*5ecf7b4eSGunnar Mills                            {
67*5ecf7b4eSGunnar Mills                                "type": "null"
68*5ecf7b4eSGunnar Mills                            }
69*5ecf7b4eSGunnar Mills                        ]
70*5ecf7b4eSGunnar Mills                    },
71*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array of certificate usage types that support automatic enrollments for this service.",
72*5ecf7b4eSGunnar Mills                    "readonly": true,
73*5ecf7b4eSGunnar Mills                    "type": "array",
74*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
75*5ecf7b4eSGunnar Mills                },
76*5ecf7b4eSGunnar Mills                "EnrollmentTypes": {
77*5ecf7b4eSGunnar Mills                    "description": "The automatic enrollment protocols supported by this service.",
78*5ecf7b4eSGunnar Mills                    "items": {
79*5ecf7b4eSGunnar Mills                        "anyOf": [
80*5ecf7b4eSGunnar Mills                            {
81*5ecf7b4eSGunnar Mills                                "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateEnrollment.json#/definitions/EnrollmentProtocolType"
82*5ecf7b4eSGunnar Mills                            },
83*5ecf7b4eSGunnar Mills                            {
84*5ecf7b4eSGunnar Mills                                "type": "null"
85*5ecf7b4eSGunnar Mills                            }
86*5ecf7b4eSGunnar Mills                        ]
87*5ecf7b4eSGunnar Mills                    },
88*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain an array of automatic enrollment protocols supported by this service.",
89*5ecf7b4eSGunnar Mills                    "readonly": true,
90*5ecf7b4eSGunnar Mills                    "type": "array",
91*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
92*5ecf7b4eSGunnar Mills                },
93*5ecf7b4eSGunnar Mills                "ServiceEnabled": {
94*5ecf7b4eSGunnar Mills                    "description": "An indication of whether automatic enrollment is enabled.",
95*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall indicate whether automatic certificate enrollment is enabled.",
96*5ecf7b4eSGunnar Mills                    "readonly": false,
97*5ecf7b4eSGunnar Mills                    "type": [
98*5ecf7b4eSGunnar Mills                        "boolean",
99*5ecf7b4eSGunnar Mills                        "null"
100*5ecf7b4eSGunnar Mills                    ],
101*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
102*5ecf7b4eSGunnar Mills                }
103*5ecf7b4eSGunnar Mills            },
104*5ecf7b4eSGunnar Mills            "type": "object"
105*5ecf7b4eSGunnar Mills        },
106*5ecf7b4eSGunnar Mills        "CertificateService": {
107*5ecf7b4eSGunnar Mills            "additionalProperties": false,
108*5ecf7b4eSGunnar Mills            "description": "The `CertificateService` schema describes a certificate service that represents the actions available to manage certificates and links to the certificates.",
109*5ecf7b4eSGunnar Mills            "longDescription": "This resource shall represent the certificate service properties for a Redfish implementation.",
110*5ecf7b4eSGunnar Mills            "patternProperties": {
111*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
112*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
113*5ecf7b4eSGunnar Mills                    "type": [
114*5ecf7b4eSGunnar Mills                        "array",
115*5ecf7b4eSGunnar Mills                        "boolean",
116*5ecf7b4eSGunnar Mills                        "integer",
117*5ecf7b4eSGunnar Mills                        "number",
118*5ecf7b4eSGunnar Mills                        "null",
119*5ecf7b4eSGunnar Mills                        "object",
120*5ecf7b4eSGunnar Mills                        "string"
121*5ecf7b4eSGunnar Mills                    ]
122*5ecf7b4eSGunnar Mills                }
123*5ecf7b4eSGunnar Mills            },
124*5ecf7b4eSGunnar Mills            "properties": {
125*5ecf7b4eSGunnar Mills                "@odata.context": {
126*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/context"
127*5ecf7b4eSGunnar Mills                },
128*5ecf7b4eSGunnar Mills                "@odata.etag": {
129*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/etag"
130*5ecf7b4eSGunnar Mills                },
131*5ecf7b4eSGunnar Mills                "@odata.id": {
132*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/id"
133*5ecf7b4eSGunnar Mills                },
134*5ecf7b4eSGunnar Mills                "@odata.type": {
135*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/odata-v4.json#/definitions/type"
136*5ecf7b4eSGunnar Mills                },
137*5ecf7b4eSGunnar Mills                "Actions": {
138*5ecf7b4eSGunnar Mills                    "$ref": "#/definitions/Actions",
139*5ecf7b4eSGunnar Mills                    "description": "The available actions for this resource.",
140*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the available actions for this resource."
141*5ecf7b4eSGunnar Mills                },
142*5ecf7b4eSGunnar Mills                "AutomaticCertificateEnrollment": {
143*5ecf7b4eSGunnar Mills                    "anyOf": [
144*5ecf7b4eSGunnar Mills                        {
145*5ecf7b4eSGunnar Mills                            "$ref": "#/definitions/AutomaticCertificateEnrollment"
146*5ecf7b4eSGunnar Mills                        },
147*5ecf7b4eSGunnar Mills                        {
148*5ecf7b4eSGunnar Mills                            "type": "null"
149*5ecf7b4eSGunnar Mills                        }
150*5ecf7b4eSGunnar Mills                    ],
151*5ecf7b4eSGunnar Mills                    "description": "The automatic certificate enrollment configuration.",
152*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the configuration and status of automatic certificate enrollment.",
153*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
154*5ecf7b4eSGunnar Mills                },
155*5ecf7b4eSGunnar Mills                "CertificateEnrollments": {
156*5ecf7b4eSGunnar Mills                    "anyOf": [
157*5ecf7b4eSGunnar Mills                        {
158*5ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateEnrollmentCollection.json#/definitions/CertificateEnrollmentCollection"
159*5ecf7b4eSGunnar Mills                        },
160*5ecf7b4eSGunnar Mills                        {
161*5ecf7b4eSGunnar Mills                            "type": "null"
162*5ecf7b4eSGunnar Mills                        }
163*5ecf7b4eSGunnar Mills                    ],
164*5ecf7b4eSGunnar Mills                    "description": "The link to the collection of certificate enrollment configurations.",
165*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `CertificateEnrollmentCollection` that contains the certificate enrollment configurations for this service.",
166*5ecf7b4eSGunnar Mills                    "readonly": true,
167*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
168*5ecf7b4eSGunnar Mills                },
169*5ecf7b4eSGunnar Mills                "CertificateLocations": {
170*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateLocations.json#/definitions/CertificateLocations",
171*5ecf7b4eSGunnar Mills                    "description": "The information about the location of certificates.",
172*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource of type `CertificateLocations`.",
173*5ecf7b4eSGunnar Mills                    "readonly": true
174*5ecf7b4eSGunnar Mills                },
175*5ecf7b4eSGunnar Mills                "Description": {
176*5ecf7b4eSGunnar Mills                    "anyOf": [
177*5ecf7b4eSGunnar Mills                        {
178*5ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Description"
179*5ecf7b4eSGunnar Mills                        },
180*5ecf7b4eSGunnar Mills                        {
181*5ecf7b4eSGunnar Mills                            "type": "null"
182*5ecf7b4eSGunnar Mills                        }
183*5ecf7b4eSGunnar Mills                    ],
184*5ecf7b4eSGunnar Mills                    "readonly": true
185*5ecf7b4eSGunnar Mills                },
186*5ecf7b4eSGunnar Mills                "EnrollmentCACertificates": {
187*5ecf7b4eSGunnar Mills                    "anyOf": [
188*5ecf7b4eSGunnar Mills                        {
189*5ecf7b4eSGunnar Mills                            "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateCollection.json#/definitions/CertificateCollection"
190*5ecf7b4eSGunnar Mills                        },
191*5ecf7b4eSGunnar Mills                        {
192*5ecf7b4eSGunnar Mills                            "type": "null"
193*5ecf7b4eSGunnar Mills                        }
194*5ecf7b4eSGunnar Mills                    ],
195*5ecf7b4eSGunnar Mills                    "description": "The link to a collection of server certificates for the automatic certificate enrollment servers.",
196*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `CertificateCollection` that contains the server certificates for the automatic certificate enrollment servers.",
197*5ecf7b4eSGunnar Mills                    "readonly": true,
198*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_2_0"
199*5ecf7b4eSGunnar Mills                },
200*5ecf7b4eSGunnar Mills                "Id": {
201*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Id",
202*5ecf7b4eSGunnar Mills                    "readonly": true
203*5ecf7b4eSGunnar Mills                },
204*5ecf7b4eSGunnar Mills                "Name": {
205*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Name",
206*5ecf7b4eSGunnar Mills                    "readonly": true
207*5ecf7b4eSGunnar Mills                },
208*5ecf7b4eSGunnar Mills                "Oem": {
209*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Resource.json#/definitions/Oem",
210*5ecf7b4eSGunnar Mills                    "description": "The OEM extension property.",
211*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."
212*5ecf7b4eSGunnar Mills                }
213*5ecf7b4eSGunnar Mills            },
214*5ecf7b4eSGunnar Mills            "required": [
215*5ecf7b4eSGunnar Mills                "@odata.id",
216*5ecf7b4eSGunnar Mills                "@odata.type",
217*5ecf7b4eSGunnar Mills                "Id",
218*5ecf7b4eSGunnar Mills                "Name"
219*5ecf7b4eSGunnar Mills            ],
220*5ecf7b4eSGunnar Mills            "type": "object"
221*5ecf7b4eSGunnar Mills        },
222*5ecf7b4eSGunnar Mills        "GenerateCSR": {
223*5ecf7b4eSGunnar Mills            "actionResponse": {
224*5ecf7b4eSGunnar Mills                "$ref": "#/definitions/GenerateCSRResponse"
225*5ecf7b4eSGunnar Mills            },
226*5ecf7b4eSGunnar Mills            "additionalProperties": false,
227*5ecf7b4eSGunnar Mills            "description": "This action makes a certificate signing request.",
228*5ecf7b4eSGunnar Mills            "longDescription": "This action shall make a certificate signing request.  The response shall contain a signing request that a certificate authority (CA) will sign.  The service should retain the private key that was generated during this request for installation of the certificate.  The private key should not be part of the response.",
229*5ecf7b4eSGunnar Mills            "parameters": {
230*5ecf7b4eSGunnar Mills                "AlternativeNames": {
231*5ecf7b4eSGunnar Mills                    "description": "The additional host names of the component to secure.",
232*5ecf7b4eSGunnar Mills                    "items": {
233*5ecf7b4eSGunnar Mills                        "type": "string"
234*5ecf7b4eSGunnar Mills                    },
235*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain an array of additional host names of the component to secure, as defined by the RFC5280 'subjectAltName' attribute.",
236*5ecf7b4eSGunnar Mills                    "type": "array"
237*5ecf7b4eSGunnar Mills                },
238*5ecf7b4eSGunnar Mills                "CertificateCollection": {
239*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateCollection.json#/definitions/CertificateCollection",
240*5ecf7b4eSGunnar Mills                    "description": "The link to the certificate collection where the certificate is installed after the certificate authority (CA) signs the certificate.",
241*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain a link to a resource collection of type `CertificateCollection` where the certificate is installed after the certificate authority (CA) signs the certificate.",
242*5ecf7b4eSGunnar Mills                    "requiredParameter": true
243*5ecf7b4eSGunnar Mills                },
244*5ecf7b4eSGunnar Mills                "ChallengePassword": {
245*5ecf7b4eSGunnar Mills                    "description": "The challenge password to apply to the certificate for revocation requests.",
246*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.",
247*5ecf7b4eSGunnar Mills                    "type": "string"
248*5ecf7b4eSGunnar Mills                },
249*5ecf7b4eSGunnar Mills                "City": {
250*5ecf7b4eSGunnar Mills                    "description": "The city or locality of the organization making the request.",
251*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the city or locality of the organization making the request, as defined by the RFC5280 'localityName' attribute.",
252*5ecf7b4eSGunnar Mills                    "type": "string"
253*5ecf7b4eSGunnar Mills                },
254*5ecf7b4eSGunnar Mills                "CommonName": {
255*5ecf7b4eSGunnar Mills                    "description": "The fully qualified domain name of the component to secure.",
256*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the fully qualified domain name of the component to secure, as defined by the RFC5280 'commonName' attribute.",
257*5ecf7b4eSGunnar Mills                    "requiredParameter": true,
258*5ecf7b4eSGunnar Mills                    "type": "string"
259*5ecf7b4eSGunnar Mills                },
260*5ecf7b4eSGunnar Mills                "ContactPerson": {
261*5ecf7b4eSGunnar Mills                    "description": "The name of the user making the request.",
262*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the name of the user making the request, as defined by the RFC5280 'name' attribute.",
263*5ecf7b4eSGunnar Mills                    "type": "string"
264*5ecf7b4eSGunnar Mills                },
265*5ecf7b4eSGunnar Mills                "Country": {
266*5ecf7b4eSGunnar Mills                    "description": "The two-letter country code of the organization making the request.",
267*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the two-letter ISO code for the country of the organization making the request, as defined by the RFC5280 'countryName' attribute.",
268*5ecf7b4eSGunnar Mills                    "type": "string"
269*5ecf7b4eSGunnar Mills                },
270*5ecf7b4eSGunnar Mills                "Email": {
271*5ecf7b4eSGunnar Mills                    "description": "The email address of the contact within the organization making the request.",
272*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the email address of the contact within the organization making the request, as defined by the RFC2985 'emailAddress' attribute.",
273*5ecf7b4eSGunnar Mills                    "type": "string"
274*5ecf7b4eSGunnar Mills                },
275*5ecf7b4eSGunnar Mills                "GivenName": {
276*5ecf7b4eSGunnar Mills                    "description": "The given name of the user making the request.",
277*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the given name of the user making the request, as defined by the RFC5280 'givenName' attribute.",
278*5ecf7b4eSGunnar Mills                    "type": "string"
279*5ecf7b4eSGunnar Mills                },
280*5ecf7b4eSGunnar Mills                "Initials": {
281*5ecf7b4eSGunnar Mills                    "description": "The initials of the user making the request.",
282*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the initials of the user making the request, as defined by the RFC5280 'initials' attribute.",
283*5ecf7b4eSGunnar Mills                    "type": "string"
284*5ecf7b4eSGunnar Mills                },
285*5ecf7b4eSGunnar Mills                "KeyBitLength": {
286*5ecf7b4eSGunnar Mills                    "description": "The length of the key, in bits, if needed based on the `KeyPairAlgorithm` parameter value.",
287*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the length of the key, in bits, if needed based on the `KeyPairAlgorithm` parameter value.",
288*5ecf7b4eSGunnar Mills                    "type": "integer"
289*5ecf7b4eSGunnar Mills                },
290*5ecf7b4eSGunnar Mills                "KeyCurveId": {
291*5ecf7b4eSGunnar Mills                    "description": "The curve ID to use with the key, if needed based on the `KeyPairAlgorithm` parameter value.",
292*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'.",
293*5ecf7b4eSGunnar Mills                    "type": "string"
294*5ecf7b4eSGunnar Mills                },
295*5ecf7b4eSGunnar Mills                "KeyPairAlgorithm": {
296*5ecf7b4eSGunnar Mills                    "description": "The type of key-pair for use with signing algorithms.",
297*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'.",
298*5ecf7b4eSGunnar Mills                    "type": "string"
299*5ecf7b4eSGunnar Mills                },
300*5ecf7b4eSGunnar Mills                "KeyUsage": {
301*5ecf7b4eSGunnar Mills                    "description": "The usage of the key contained in the certificate.",
302*5ecf7b4eSGunnar Mills                    "items": {
303*5ecf7b4eSGunnar Mills                        "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/KeyUsage"
304*5ecf7b4eSGunnar Mills                    },
305*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the usage of the key contained in the certificate.  If the client does not provide this value, the service can determine the appropriate key usage settings in the certificate signing request.",
306*5ecf7b4eSGunnar Mills                    "type": "array"
307*5ecf7b4eSGunnar Mills                },
308*5ecf7b4eSGunnar Mills                "Organization": {
309*5ecf7b4eSGunnar Mills                    "description": "The name of the organization making the request.",
310*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the name of the organization making the request, as defined by the RFC5280 'organizationName' attribute.",
311*5ecf7b4eSGunnar Mills                    "type": "string"
312*5ecf7b4eSGunnar Mills                },
313*5ecf7b4eSGunnar Mills                "OrganizationalUnit": {
314*5ecf7b4eSGunnar Mills                    "description": "The name of the unit or division of the organization making the request.",
315*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the name of the unit or division of the organization making the request, as defined by the RFC5280 'organizationalUnitName' attribute.",
316*5ecf7b4eSGunnar Mills                    "type": "string"
317*5ecf7b4eSGunnar Mills                },
318*5ecf7b4eSGunnar Mills                "State": {
319*5ecf7b4eSGunnar Mills                    "description": "The state, province, or region of the organization making the request.",
320*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the state, province, or region of the organization making the request, as defined by the RFC5280 'stateOrProvinceName' attribute.",
321*5ecf7b4eSGunnar Mills                    "type": "string"
322*5ecf7b4eSGunnar Mills                },
323*5ecf7b4eSGunnar Mills                "Surname": {
324*5ecf7b4eSGunnar Mills                    "description": "The surname of the user making the request.",
325*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the surname of the user making the request, as defined by the RFC5280 'surname' attribute.",
326*5ecf7b4eSGunnar Mills                    "type": "string"
327*5ecf7b4eSGunnar Mills                },
328*5ecf7b4eSGunnar Mills                "UnstructuredName": {
329*5ecf7b4eSGunnar Mills                    "description": "The unstructured name of the subject.",
330*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the unstructured name of the subject, as defined by the RFC2985 'unstructuredName' attribute.",
331*5ecf7b4eSGunnar Mills                    "type": "string"
332*5ecf7b4eSGunnar Mills                }
333*5ecf7b4eSGunnar Mills            },
334*5ecf7b4eSGunnar Mills            "patternProperties": {
335*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
336*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
337*5ecf7b4eSGunnar Mills                    "type": [
338*5ecf7b4eSGunnar Mills                        "array",
339*5ecf7b4eSGunnar Mills                        "boolean",
340*5ecf7b4eSGunnar Mills                        "integer",
341*5ecf7b4eSGunnar Mills                        "number",
342*5ecf7b4eSGunnar Mills                        "null",
343*5ecf7b4eSGunnar Mills                        "object",
344*5ecf7b4eSGunnar Mills                        "string"
345*5ecf7b4eSGunnar Mills                    ]
346*5ecf7b4eSGunnar Mills                }
347*5ecf7b4eSGunnar Mills            },
348*5ecf7b4eSGunnar Mills            "properties": {
349*5ecf7b4eSGunnar Mills                "target": {
350*5ecf7b4eSGunnar Mills                    "description": "Link to invoke action",
351*5ecf7b4eSGunnar Mills                    "format": "uri-reference",
352*5ecf7b4eSGunnar Mills                    "type": "string"
353*5ecf7b4eSGunnar Mills                },
354*5ecf7b4eSGunnar Mills                "title": {
355*5ecf7b4eSGunnar Mills                    "description": "Friendly action name",
356*5ecf7b4eSGunnar Mills                    "type": "string"
357*5ecf7b4eSGunnar Mills                }
358*5ecf7b4eSGunnar Mills            },
359*5ecf7b4eSGunnar Mills            "type": "object"
360*5ecf7b4eSGunnar Mills        },
361*5ecf7b4eSGunnar Mills        "GenerateCSRResponse": {
362*5ecf7b4eSGunnar Mills            "additionalProperties": false,
363*5ecf7b4eSGunnar Mills            "description": "The response body for the `GenerateCSR` action.",
364*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the properties found in the response body for the `GenerateCSR` action.",
365*5ecf7b4eSGunnar Mills            "patternProperties": {
366*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
367*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
368*5ecf7b4eSGunnar Mills                    "type": [
369*5ecf7b4eSGunnar Mills                        "array",
370*5ecf7b4eSGunnar Mills                        "boolean",
371*5ecf7b4eSGunnar Mills                        "integer",
372*5ecf7b4eSGunnar Mills                        "number",
373*5ecf7b4eSGunnar Mills                        "null",
374*5ecf7b4eSGunnar Mills                        "object",
375*5ecf7b4eSGunnar Mills                        "string"
376*5ecf7b4eSGunnar Mills                    ]
377*5ecf7b4eSGunnar Mills                }
378*5ecf7b4eSGunnar Mills            },
379*5ecf7b4eSGunnar Mills            "properties": {
380*5ecf7b4eSGunnar Mills                "CSRString": {
381*5ecf7b4eSGunnar Mills                    "description": "The string for the certificate signing request.",
382*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain the Privacy Enhanced Mail (PEM)-encoded string, which contains RFC2986-specified structures, of the certificate signing request.  The private key should not be part of the string.",
383*5ecf7b4eSGunnar Mills                    "readonly": true,
384*5ecf7b4eSGunnar Mills                    "type": "string"
385*5ecf7b4eSGunnar Mills                },
386*5ecf7b4eSGunnar Mills                "CertificateCollection": {
387*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/CertificateCollection.json#/definitions/CertificateCollection",
388*5ecf7b4eSGunnar Mills                    "description": "The link to the certificate collection where the certificate is installed.",
389*5ecf7b4eSGunnar Mills                    "longDescription": "This property shall contain a link to a resource collection of type `CertificateCollection` where the certificate is installed after the certificate authority (CA) has signed the certificate.",
390*5ecf7b4eSGunnar Mills                    "readonly": true
391*5ecf7b4eSGunnar Mills                }
392*5ecf7b4eSGunnar Mills            },
393*5ecf7b4eSGunnar Mills            "required": [
394*5ecf7b4eSGunnar Mills                "CertificateCollection",
395*5ecf7b4eSGunnar Mills                "CSRString"
396*5ecf7b4eSGunnar Mills            ],
397*5ecf7b4eSGunnar Mills            "type": "object"
398*5ecf7b4eSGunnar Mills        },
399*5ecf7b4eSGunnar Mills        "OemActions": {
400*5ecf7b4eSGunnar Mills            "additionalProperties": true,
401*5ecf7b4eSGunnar Mills            "description": "The available OEM-specific actions for this resource.",
402*5ecf7b4eSGunnar Mills            "longDescription": "This type shall contain the available OEM-specific actions for this resource.",
403*5ecf7b4eSGunnar Mills            "patternProperties": {
404*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
405*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
406*5ecf7b4eSGunnar Mills                    "type": [
407*5ecf7b4eSGunnar Mills                        "array",
408*5ecf7b4eSGunnar Mills                        "boolean",
409*5ecf7b4eSGunnar Mills                        "integer",
410*5ecf7b4eSGunnar Mills                        "number",
411*5ecf7b4eSGunnar Mills                        "null",
412*5ecf7b4eSGunnar Mills                        "object",
413*5ecf7b4eSGunnar Mills                        "string"
414*5ecf7b4eSGunnar Mills                    ]
415*5ecf7b4eSGunnar Mills                }
416*5ecf7b4eSGunnar Mills            },
417*5ecf7b4eSGunnar Mills            "properties": {},
418*5ecf7b4eSGunnar Mills            "type": "object"
419*5ecf7b4eSGunnar Mills        },
420*5ecf7b4eSGunnar Mills        "ReplaceCertificate": {
421*5ecf7b4eSGunnar Mills            "additionalProperties": false,
422*5ecf7b4eSGunnar Mills            "description": "This action replaces a certificate.",
423*5ecf7b4eSGunnar Mills            "longDescription": "This action shall replace a certificate.  The `Location` header in the response shall contain the URI of the new certificate resource.",
424*5ecf7b4eSGunnar Mills            "parameters": {
425*5ecf7b4eSGunnar Mills                "CertificateString": {
426*5ecf7b4eSGunnar Mills                    "description": "The string for the certificate.",
427*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the string of the certificate, and the format shall follow the requirements specified by the `CertificateType` parameter value.  If the certificate contains any private keys, they shall be removed from the string in responses.  If the service does not know the private key for the certificate and it is needed to use the certificate, the client shall provide the private key as part of the string in the `POST` request.",
428*5ecf7b4eSGunnar Mills                    "requiredParameter": true,
429*5ecf7b4eSGunnar Mills                    "type": "string"
430*5ecf7b4eSGunnar Mills                },
431*5ecf7b4eSGunnar Mills                "CertificateType": {
432*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/CertificateType",
433*5ecf7b4eSGunnar Mills                    "description": "The format of the certificate.",
434*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the format type for the certificate.",
435*5ecf7b4eSGunnar Mills                    "requiredParameter": true
436*5ecf7b4eSGunnar Mills                },
437*5ecf7b4eSGunnar Mills                "CertificateUri": {
438*5ecf7b4eSGunnar Mills                    "$ref": "http://redfish.dmtf.org/schemas/v1/Certificate.json#/definitions/Certificate",
439*5ecf7b4eSGunnar Mills                    "description": "The link to the certificate that is being replaced.",
440*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain a link to a resource of type `Certificate` that is being replaced.",
441*5ecf7b4eSGunnar Mills                    "requiredParameter": true
442*5ecf7b4eSGunnar Mills                },
443*5ecf7b4eSGunnar Mills                "Password": {
444*5ecf7b4eSGunnar Mills                    "description": "The password for the certificate.",
445*5ecf7b4eSGunnar Mills                    "longDescription": "This parameter shall contain the password for the certificate contained in the `CertificateString` parameter.  This parameter shall be required if the `CertificateType` parameter contains `PKCS12` and the client-provided certificate is password protected.",
446*5ecf7b4eSGunnar Mills                    "type": "string",
447*5ecf7b4eSGunnar Mills                    "versionAdded": "v1_1_0"
448*5ecf7b4eSGunnar Mills                }
449*5ecf7b4eSGunnar Mills            },
450*5ecf7b4eSGunnar Mills            "patternProperties": {
451*5ecf7b4eSGunnar Mills                "^([a-zA-Z_][a-zA-Z0-9_]*)?@(odata|Redfish|Message)\\.[a-zA-Z_][a-zA-Z0-9_]*$": {
452*5ecf7b4eSGunnar Mills                    "description": "This property shall specify a valid odata or Redfish property.",
453*5ecf7b4eSGunnar Mills                    "type": [
454*5ecf7b4eSGunnar Mills                        "array",
455*5ecf7b4eSGunnar Mills                        "boolean",
456*5ecf7b4eSGunnar Mills                        "integer",
457*5ecf7b4eSGunnar Mills                        "number",
458*5ecf7b4eSGunnar Mills                        "null",
459*5ecf7b4eSGunnar Mills                        "object",
460*5ecf7b4eSGunnar Mills                        "string"
461*5ecf7b4eSGunnar Mills                    ]
462*5ecf7b4eSGunnar Mills                }
463*5ecf7b4eSGunnar Mills            },
464*5ecf7b4eSGunnar Mills            "properties": {
465*5ecf7b4eSGunnar Mills                "target": {
466*5ecf7b4eSGunnar Mills                    "description": "Link to invoke action",
467*5ecf7b4eSGunnar Mills                    "format": "uri-reference",
468*5ecf7b4eSGunnar Mills                    "type": "string"
469*5ecf7b4eSGunnar Mills                },
470*5ecf7b4eSGunnar Mills                "title": {
471*5ecf7b4eSGunnar Mills                    "description": "Friendly action name",
472*5ecf7b4eSGunnar Mills                    "type": "string"
473*5ecf7b4eSGunnar Mills                }
474*5ecf7b4eSGunnar Mills            },
475*5ecf7b4eSGunnar Mills            "type": "object"
476*5ecf7b4eSGunnar Mills        }
477*5ecf7b4eSGunnar Mills    },
478*5ecf7b4eSGunnar Mills    "language": "en",
479*5ecf7b4eSGunnar Mills    "owningEntity": "DMTF",
480*5ecf7b4eSGunnar Mills    "release": "2025.3",
481*5ecf7b4eSGunnar Mills    "title": "#CertificateService.v1_2_0.CertificateService"
482*5ecf7b4eSGunnar Mills}