1<?xml version="1.0" encoding="UTF-8"?>
2<!---->
3<!--################################################################################       -->
4<!--# Redfish Schema:  Certificate v1.8.2                                                  -->
5<!--#                                                                                      -->
6<!--# For a detailed change log, see the README file contained in the DSP8010 bundle,      -->
7<!--# available at http://www.dmtf.org/standards/redfish                                   -->
8<!--# Copyright 2014-2024 DMTF.                                                            -->
9<!--# For the full DMTF copyright policy, see http://www.dmtf.org/about/policies/copyright -->
10<!--################################################################################       -->
11<!---->
12<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
13
14  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Core.V1.xml">
15    <edmx:Include Namespace="Org.OData.Core.V1" Alias="OData"/>
16  </edmx:Reference>
17  <edmx:Reference Uri="http://docs.oasis-open.org/odata/odata/v4.0/errata03/csd01/complete/vocabularies/Org.OData.Capabilities.V1.xml">
18    <edmx:Include Namespace="Org.OData.Capabilities.V1" Alias="Capabilities"/>
19  </edmx:Reference>
20  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/Resource_v1.xml">
21    <edmx:Include Namespace="Resource"/>
22    <edmx:Include Namespace="Resource.v1_0_0"/>
23  </edmx:Reference>
24  <edmx:Reference Uri="http://redfish.dmtf.org/schemas/v1/RedfishExtensions_v1.xml">
25    <edmx:Include Namespace="RedfishExtensions.v1_0_0" Alias="Redfish"/>
26    <edmx:Include Namespace="Validation.v1_0_0" Alias="Validation"/>
27  </edmx:Reference>
28
29  <edmx:DataServices>
30
31    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate">
32      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
33      <Annotation Term="Redfish.Language" String="en"/>
34
35      <EntityType Name="Certificate" BaseType="Resource.v1_0_0.Resource" Abstract="true">
36        <Annotation Term="OData.Description" String="The `Certificate` schema describes a certificate that proves the identity of a component, account, or service."/>
37        <Annotation Term="OData.LongDescription" String="This resource shall represent a certificate for a Redfish implementation."/>
38        <Annotation Term="Capabilities.InsertRestrictions">
39          <Record>
40            <PropertyValue Property="Insertable" Bool="false"/>
41          </Record>
42        </Annotation>
43        <Annotation Term="Capabilities.UpdateRestrictions">
44          <Record>
45            <PropertyValue Property="Updatable" Bool="true"/>
46          </Record>
47        </Annotation>
48        <Annotation Term="Capabilities.DeleteRestrictions">
49          <Record>
50            <PropertyValue Property="Deletable" Bool="true"/>
51            <Annotation Term="OData.Description" String="Use the `DELETE` operation to remove certificates."/>
52          </Record>
53        </Annotation>
54        <Annotation Term="Redfish.Uris">
55          <Collection>
56            <String>/redfish/v1/AccountService/Accounts/{ManagerAccountId}/Certificates/{CertificateId}</String>
57            <String>/redfish/v1/AccountService/ActiveDirectory/Certificates/{CertificateId}</String>
58            <String>/redfish/v1/AccountService/LDAP/Certificates/{CertificateId}</String>
59            <String>/redfish/v1/AccountService/ExternalAccountProviders/{ExternalAccountProviderId}/Certificates/{CertificateId}</String>
60            <String>/redfish/v1/AccountService/MultiFactorAuth/ClientCertificate/Certificates/{CertificateId}</String>
61            <String>/redfish/v1/AccountService/MultiFactorAuth/SecurID/Certificates/{CertificateId}</String>
62            <String>/redfish/v1/Managers/{ManagerId}/RemoteAccountService/Accounts/{ManagerAccountId}/Certificates/{CertificateId}</String>
63            <String>/redfish/v1/Managers/{ManagerId}/RemoteAccountService/ActiveDirectory/Certificates/{CertificateId}</String>
64            <String>/redfish/v1/Managers/{ManagerId}/RemoteAccountService/LDAP/Certificates/{CertificateId}</String>
65            <String>/redfish/v1/Managers/{ManagerId}/RemoteAccountService/ExternalAccountProviders/{ExternalAccountProviderId}/Certificates/{CertificateId}</String>
66            <String>/redfish/v1/Managers/{ManagerId}/RemoteAccountService/MultiFactorAuth/ClientCertificate/Certificates/{CertificateId}</String>
67            <String>/redfish/v1/Managers/{ManagerId}/RemoteAccountService/MultiFactorAuth/SecurID/Certificates/{CertificateId}</String>
68            <String>/redfish/v1/Managers/{ManagerId}/NetworkProtocol/HTTPS/Certificates/{CertificateId}</String>
69            <String>/redfish/v1/Systems/{ComputerSystemId}/Boot/Certificates/{CertificateId}</String>
70            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Boot/Certificates/{CertificateId}</String>
71            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Boot/Certificates/{CertificateId}</String>
72            <String>/redfish/v1/Systems/{ComputerSystemId}/SecureBoot/SecureBootDatabases/{DatabaseId}/Certificates/{CertificateId}</String>
73            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/SecureBoot/SecureBootDatabases/{DatabaseId}/Certificates/{CertificateId}</String>
74            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/SecureBoot/SecureBootDatabases/{DatabaseId}/Certificates/{CertificateId}</String>
75            <String>/redfish/v1/EventService/Subscriptions/{EventDestinationId}/Certificates/{CertificateId}</String>
76            <String>/redfish/v1/EventService/Subscriptions/{EventDestinationId}/ClientCertificates/{CertificateId}</String>
77            <String>/redfish/v1/Systems/{ComputerSystemId}/Certificates/{CertificateId}</String>
78            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Certificates/{CertificateId}</String>
79            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Certificates/{CertificateId}</String>
80            <String>/redfish/v1/Systems/{ComputerSystemId}/Memory/{MemoryId}/Certificates/{CertificateId}</String>
81            <String>/redfish/v1/Chassis/{ChassisId}/Memory/{MemoryId}/Certificates/{CertificateId}</String>
82            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Memory/{MemoryId}/Certificates/{CertificateId}</String>
83            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Memory/{MemoryId}/Certificates/{CertificateId}</String>
84            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Memory/{MemoryId}/Certificates/{CertificateId}</String>
85            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Memory/{MemoryId}/Certificates/{CertificateId}</String>
86            <String>/redfish/v1/Systems/{ComputerSystemId}/Processors/{ProcessorId}/Certificates/{CertificateId}</String>
87            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Processors/{ProcessorId}/Certificates/{CertificateId}</String>
88            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Processors/{ProcessorId}/Certificates/{CertificateId}</String>
89            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Processors/{ProcessorId}/Certificates/{CertificateId}</String>
90            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Processors/{ProcessorId}/Certificates/{CertificateId}</String>
91            <String>/redfish/v1/Storage/{StorageId}/StorageControllers/{StorageControllerId}/Certificates/{CertificateId}</String>
92            <String>/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/StorageControllers/{StorageControllerId}/Certificates/{CertificateId}</String>
93            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/StorageControllers/{StorageControllerId}/Certificates/{CertificateId}</String>
94            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/StorageControllers/{StorageControllerId}/Certificates/{CertificateId}</String>
95            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/StorageControllers/{StorageControllerId}/Certificates/{CertificateId}</String>
96            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/StorageControllers/{StorageControllerId}/Certificates/{CertificateId}</String>
97            <String>/redfish/v1/Storage/{StorageId}/Controllers/{StorageControllerId}/Certificates/{CertificateId}</String>
98            <String>/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId}/Certificates/{CertificateId}</String>
99            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Controllers/{StorageControllerId}/Certificates/{CertificateId}</String>
100            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId}/Certificates/{CertificateId}</String>
101            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Controllers/{StorageControllerId}/Certificates/{CertificateId}</String>
102            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Controllers/{StorageControllerId}/Certificates/{CertificateId}</String>
103            <String>/redfish/v1/Fabrics/{FabricId}/Switches/{SwitchId}/Certificates/{CertificateId}</String>
104            <String>/redfish/v1/Chassis/{ChassisId}/Certificates/{CertificateId}</String>
105            <String>/redfish/v1/Systems/{ComputerSystemId}/Storage/{StorageId}/Drives/{DriveId}/Certificates/{CertificateId}</String>
106            <String>/redfish/v1/Chassis/{ChassisId}/Drives/{DriveId}/Certificates/{CertificateId}</String>
107            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Drives/{DriveId}/Certificates/{CertificateId}</String>
108            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Drives/{DriveId}/Certificates/{CertificateId}</String>
109            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Drives/{DriveId}/Certificates/{CertificateId}</String>
110            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Storage/{StorageId}/Drives/{DriveId}/Certificates/{CertificateId}</String>
111            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Drives/{DriveId}/Certificates/{CertificateId}</String>
112            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/Storage/{StorageId}/Drives/{DriveId}/Certificates/{CertificateId}</String>
113            <String>/redfish/v1/Chassis/{ChassisId}/NetworkAdapters/{NetworkAdapterId}/Certificates/{CertificateId}</String>
114            <String>/redfish/v1/Systems/{ComputerSystemId}/VirtualMedia/{VirtualMediaId}/Certificates/{CertificateId}</String>
115            <String>/redfish/v1/Systems/{ComputerSystemId}/VirtualMedia/{VirtualMediaId}/ClientCertificates/{CertificateId}</String>
116            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/VirtualMedia/{VirtualMediaId}/Certificates/{CertificateId}</String>
117            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/VirtualMedia/{VirtualMediaId}/ClientCertificates/{CertificateId}</String>
118            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/VirtualMedia/{VirtualMediaId}/Certificates/{CertificateId}</String>
119            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/VirtualMedia/{VirtualMediaId}/ClientCertificates/{CertificateId}</String>
120            <String>/redfish/v1/UpdateService/RemoteServerCertificates/{CertificateId}</String>
121            <String>/redfish/v1/UpdateService/ClientCertificates/{CertificateId}</String>
122            <String>/redfish/v1/Managers/{ManagerId}/Certificates/{CertificateId}</String>
123            <String>/redfish/v1/Systems/{ComputerSystemId}/KeyManagement/KMIPCertificates/{CertificateId}</String>
124            <String>/redfish/v1/CompositionService/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/KeyManagement/KMIPCertificates/{CertificateId}</String>
125            <String>/redfish/v1/ResourceBlocks/{ResourceBlockId}/Systems/{ComputerSystemId}/KeyManagement/KMIPCertificates/{CertificateId}</String>
126            <String>/redfish/v1/Managers/{ManagerId}/SecurityPolicy/SPDM/TrustedCertificates/{CertificateId}</String>
127            <String>/redfish/v1/Managers/{ManagerId}/SecurityPolicy/SPDM/RevokedCertificates/{CertificateId}</String>
128            <String>/redfish/v1/Managers/{ManagerId}/SecurityPolicy/TLS/Client/TrustedCertificates/{CertificateId}</String>
129            <String>/redfish/v1/Managers/{ManagerId}/SecurityPolicy/TLS/Client/RevokedCertificates/{CertificateId}</String>
130            <String>/redfish/v1/Managers/{ManagerId}/SecurityPolicy/TLS/Server/TrustedCertificates/{CertificateId}</String>
131            <String>/redfish/v1/Managers/{ManagerId}/SecurityPolicy/TLS/Server/RevokedCertificates/{CertificateId}</String>
132            <String>/redfish/v1/Chassis/{ChassisId}/TrustedComponents/{TrustedComponentId}/Certificates/{CertificateId}</String>
133            <String>/redfish/v1/AccountService/OutboundConnections/{OutboundConnectionId}/Certificates/{CertificateId}</String>
134            <String>/redfish/v1/AccountService/OutboundConnections/{OutboundConnectionId}/ClientCertificates/{CertificateId}</String>
135            <String>/redfish/v1/Chassis/{ChassisId}/PowerSubsystem/PowerSupplies/{PowerSupplyId}/Certificates/{CertificateId}</String>
136          </Collection>
137        </Annotation>
138      </EntityType>
139
140      <EnumType Name="CertificateType">
141        <Member Name="PEM">
142          <Annotation Term="OData.Description" String="A Privacy Enhanced Mail (PEM)-encoded single certificate."/>
143          <Annotation Term="OData.LongDescription" String="This value shall indicate the format of the certificate shall contain a Privacy Enhanced Mail (PEM)-encoded string, containing RFC5280-defined structures, representing a single certificate."/>
144        </Member>
145        <Member Name="PEMchain">
146          <Annotation Term="OData.Description" String="A Privacy Enhanced Mail (PEM)-encoded certificate chain."/>
147          <Annotation Term="OData.LongDescription" String="This value shall indicate the format of the certificate shall contain a Privacy Enhanced Mail (PEM)-encoded string, containing RFC5280-defined structures, representing a certificate chain."/>
148          <Annotation Term="Redfish.Revisions">
149            <Collection>
150              <Record>
151                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
152                <PropertyValue Property="Version" String="v1_4_0"/>
153              </Record>
154            </Collection>
155          </Annotation>
156        </Member>
157        <Member Name="PKCS7">
158          <Annotation Term="OData.Description" String="A Privacy Enhanced Mail (PEM)-encoded PKCS7 certificate."/>
159          <Annotation Term="OData.LongDescription" String="The format of the certificate shall contain a Privacy Enhanced Mail (PEM)-encoded string, containing RFC5280-defined and RFC2315-defined structures.  The service can discard additional certificates or other data in the structure."/>
160        </Member>
161      </EnumType>
162
163      <EnumType Name="KeyUsage">
164        <Annotation Term="OData.Description" String="The usages of a key contained within a certificate."/>
165        <Annotation Term="OData.LongDescription" String="This type shall describe the usages of a key within a certificate, as specified by the 'Key Usage' and 'Extended Key Usage' definitions in RFC5280."/>
166        <Member Name="DigitalSignature">
167          <Annotation Term="OData.Description" String="Verifies digital signatures, other than signatures on certificates and CRLs."/>
168        </Member>
169        <Member Name="NonRepudiation">
170          <Annotation Term="OData.Description" String="Verifies digital signatures, other than signatures on certificates and CRLs, and provides a non-repudiation service that protects against the signing entity falsely denying some action."/>
171        </Member>
172        <Member Name="KeyEncipherment">
173          <Annotation Term="OData.Description" String="Enciphers private or secret keys."/>
174        </Member>
175        <Member Name="DataEncipherment">
176          <Annotation Term="OData.Description" String="Directly enciphers raw user data without an intermediate symmetric cipher."/>
177        </Member>
178        <Member Name="KeyAgreement">
179          <Annotation Term="OData.Description" String="Key agreement."/>
180        </Member>
181        <Member Name="KeyCertSign">
182          <Annotation Term="OData.Description" String="Verifies signatures on public key certificates."/>
183        </Member>
184        <Member Name="CRLSigning">
185          <Annotation Term="OData.Description" String="Verifies signatures on certificate revocation lists (CRLs)."/>
186        </Member>
187        <Member Name="EncipherOnly">
188          <Annotation Term="OData.Description" String="Enciphers data while performing a key agreement."/>
189        </Member>
190        <Member Name="DecipherOnly">
191          <Annotation Term="OData.Description" String="Deciphers data while performing a key agreement."/>
192        </Member>
193        <Member Name="ServerAuthentication">
194          <Annotation Term="OData.Description" String="TLS WWW server authentication."/>
195        </Member>
196        <Member Name="ClientAuthentication">
197          <Annotation Term="OData.Description" String="TLS WWW client authentication."/>
198        </Member>
199        <Member Name="CodeSigning">
200          <Annotation Term="OData.Description" String="Signs downloadable executable code."/>
201        </Member>
202        <Member Name="EmailProtection">
203          <Annotation Term="OData.Description" String="Email protection."/>
204        </Member>
205        <Member Name="Timestamping">
206          <Annotation Term="OData.Description" String="Binds the hash of an object to a time."/>
207        </Member>
208        <Member Name="OCSPSigning">
209          <Annotation Term="OData.Description" String="Signs OCSP responses."/>
210        </Member>
211      </EnumType>
212
213      <Action Name="Rekey" IsBound="true">
214        <Annotation Term="OData.Description" String="This action generates a new key-pair for a certificate and produces a certificate signing request."/>
215        <Annotation Term="OData.LongDescription" String="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."/>
216        <Parameter Name="Certificate" Type="Certificate.v1_0_0.Actions"/>
217        <Parameter Name="KeyPairAlgorithm" Type="Edm.String">
218          <Annotation Term="OData.Description" String="The type of key-pair for use with signing algorithms."/>
219          <Annotation Term="OData.LongDescription" String="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'."/>
220        </Parameter>
221        <Parameter Name="KeyBitLength" Type="Edm.Int64">
222          <Annotation Term="OData.Description" String="The length of the key, in bits, if needed based on the `KeyPairAlgorithm` parameter value."/>
223          <Annotation Term="OData.LongDescription" String="This parameter shall contain the length of the key, in bits, if needed based on the `KeyPairAlgorithm` parameter value."/>
224        </Parameter>
225        <Parameter Name="KeyCurveId" Type="Edm.String">
226          <Annotation Term="OData.Description" String="The curve ID to use with the key, if needed based on the `KeyPairAlgorithm` parameter value."/>
227          <Annotation Term="OData.LongDescription" String="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'."/>
228        </Parameter>
229        <Parameter Name="ChallengePassword" Type="Edm.String">
230          <Annotation Term="OData.Description" String="The challenge password to apply to the certificate for revocation requests."/>
231          <Annotation Term="OData.LongDescription" String="This property shall contain the challenge password to apply to the certificate for revocation requests as defined by the RFC2985 'challengePassword' attribute."/>
232        </Parameter>
233        <ReturnType Type="Certificate.v1_1_0.RekeyResponse" Nullable="false"/>
234        <Annotation Term="Redfish.Revisions">
235          <Collection>
236            <Record>
237              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
238              <PropertyValue Property="Version" String="v1_1_0"/>
239            </Record>
240          </Collection>
241        </Annotation>
242      </Action>
243
244      <Action Name="Renew" IsBound="true">
245        <Annotation Term="OData.Description" String="This action generates a certificate signing request by using the existing information and key-pair of the certificate."/>
246        <Annotation Term="OData.LongDescription" String="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."/>
247        <Parameter Name="Certificate" Type="Certificate.v1_0_0.Actions"/>
248        <Parameter Name="ChallengePassword" Type="Edm.String">
249          <Annotation Term="OData.Description" String="The challenge password to apply to the certificate for revocation requests."/>
250          <Annotation Term="OData.LongDescription" String="This property shall contain the challenge password to apply to the certificate for revocation requests as defined by the RFC2985 'challengePassword' attribute."/>
251        </Parameter>
252        <ReturnType Type="Certificate.v1_1_0.RenewResponse" Nullable="false"/>
253        <Annotation Term="Redfish.Revisions">
254          <Collection>
255            <Record>
256              <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
257              <PropertyValue Property="Version" String="v1_1_0"/>
258            </Record>
259          </Collection>
260        </Annotation>
261      </Action>
262    </Schema>
263
264    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_0_0">
265      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
266      <Annotation Term="Redfish.Release" String="2018.3"/>
267
268      <EntityType Name="Certificate" BaseType="Certificate.Certificate">
269        <Property Name="CertificateString" Type="Edm.String">
270          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
271          <Annotation Term="OData.Description" String="The string for the certificate."/>
272          <Annotation Term="OData.LongDescription" String="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."/>
273          <Annotation Term="Redfish.RequiredOnCreate"/>
274        </Property>
275        <Property Name="CertificateType" Type="Certificate.CertificateType">
276          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
277          <Annotation Term="OData.Description" String="The format of the certificate."/>
278          <Annotation Term="OData.LongDescription" String="This property shall contain the format type for the certificate."/>
279          <Annotation Term="Redfish.RequiredOnCreate"/>
280        </Property>
281        <Property Name="Issuer" Type="Certificate.v1_0_0.Identifier" Nullable="false">
282          <Annotation Term="OData.Description" String="The issuer of the certificate."/>
283          <Annotation Term="OData.LongDescription" String="This property shall contain an object containing information about the issuer of the certificate."/>
284        </Property>
285        <Property Name="Subject" Type="Certificate.v1_0_0.Identifier" Nullable="false">
286          <Annotation Term="OData.Description" String="The subject of the certificate."/>
287          <Annotation Term="OData.LongDescription" String="This property shall contain an object containing information about the subject of the certificate."/>
288        </Property>
289        <Property Name="ValidNotBefore" Type="Edm.DateTimeOffset" Nullable="false">
290          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
291          <Annotation Term="OData.Description" String="The date when the certificate becomes valid."/>
292          <Annotation Term="OData.LongDescription" String="This property shall contain the date when the certificate validity period begins."/>
293        </Property>
294        <Property Name="ValidNotAfter" Type="Edm.DateTimeOffset" Nullable="false">
295          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
296          <Annotation Term="OData.Description" String="The date when the certificate is no longer valid."/>
297          <Annotation Term="OData.LongDescription" String="This property shall contain the date when the certificate validity period ends."/>
298        </Property>
299        <Property Name="KeyUsage" Type="Collection(Certificate.KeyUsage)">
300          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
301          <Annotation Term="OData.Description" String="The key usage extension, which defines the purpose of the public keys in this certificate."/>
302          <Annotation Term="OData.LongDescription" String="This property shall contain the key usage extension, which defines the purpose of the public keys in this certificate."/>
303        </Property>
304
305        <Property Name="Actions" Type="Certificate.v1_0_0.Actions" Nullable="false">
306          <Annotation Term="OData.Description" String="The available actions for this resource."/>
307          <Annotation Term="OData.LongDescription" String="This property shall contain the available actions for this resource."/>
308        </Property>
309      </EntityType>
310
311      <ComplexType Name="Identifier">
312        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
313        <Annotation Term="OData.Description" String="The identifier information about a certificate."/>
314        <Annotation Term="OData.LongDescription" String="This type shall contain the properties that identifies the issuer or subject of a certificate."/>
315        <Property Name="CommonName" Type="Edm.String" Nullable="false">
316          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
317          <Annotation Term="OData.Description" String="The common name of the entity."/>
318          <Annotation Term="OData.LongDescription" String="This property shall contain the common name of the entity, as defined by the RFC5280 'commonName' attribute."/>
319        </Property>
320        <Property Name="Organization" Type="Edm.String" Nullable="false">
321          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
322          <Annotation Term="OData.Description" String="The name of the organization of the entity."/>
323          <Annotation Term="OData.LongDescription" String="This property shall contain the name of the organization of the entity, as defined by the RFC5280 'organizationName' attribute."/>
324        </Property>
325        <Property Name="OrganizationalUnit" Type="Edm.String" Nullable="false">
326          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
327          <Annotation Term="OData.Description" String="The name of the unit or division of the organization of the entity."/>
328          <Annotation Term="OData.LongDescription" String="This property shall contain the name of the unit or division of the organization of the entity, as defined by the RFC5280 'organizationalUnitName' attribute."/>
329        </Property>
330        <Property Name="City" Type="Edm.String" Nullable="false">
331          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
332          <Annotation Term="OData.Description" String="The city or locality of the organization of the entity."/>
333          <Annotation Term="OData.LongDescription" String="This property shall contain the city or locality of the organization of the entity, as defined by the RFC5280 'localityName' attribute."/>
334        </Property>
335        <Property Name="State" Type="Edm.String" Nullable="false">
336          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
337          <Annotation Term="OData.Description" String="The state, province, or region of the organization of the entity."/>
338          <Annotation Term="OData.LongDescription" String="This property shall contain the state, province, or region of the organization of the entity, as defined by the RFC5280 'stateOrProvinceName' attribute."/>
339        </Property>
340        <Property Name="Country" Type="Edm.String" Nullable="false">
341          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
342          <Annotation Term="OData.Description" String="The country of the organization of the entity."/>
343          <Annotation Term="OData.LongDescription" String="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."/>
344        </Property>
345        <Property Name="Email" Type="Edm.String">
346          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
347          <Annotation Term="OData.Description" String="The email address of the contact within the organization of the entity."/>
348          <Annotation Term="OData.LongDescription" String="This property shall contain the email address of the contact within the organization of the entity, as defined by the RFC2985 'emailAddress' attribute."/>
349        </Property>
350      </ComplexType>
351
352      <ComplexType Name="Actions">
353        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
354        <Annotation Term="OData.Description" String="The available actions for this resource."/>
355        <Annotation Term="OData.LongDescription" String="This type shall contain the available actions for this resource."/>
356        <Property Name="Oem" Type="Certificate.v1_0_0.OemActions" Nullable="false">
357          <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
358          <Annotation Term="OData.LongDescription" String="This property shall contain the available OEM-specific actions for this resource."/>
359        </Property>
360      </ComplexType>
361
362      <ComplexType Name="OemActions">
363        <Annotation Term="OData.AdditionalProperties" Bool="true"/>
364        <Annotation Term="OData.Description" String="The available OEM-specific actions for this resource."/>
365        <Annotation Term="OData.LongDescription" String="This type shall contain the available OEM-specific actions for this resource."/>
366      </ComplexType>
367    </Schema>
368
369    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_0_1">
370      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
371      <Annotation Term="OData.Description" String="This version was created to force the regeneration of JSON Schema so that URI properties use the uri-reference format."/>
372      <EntityType Name="Certificate" BaseType="Certificate.v1_0_0.Certificate"/>
373    </Schema>
374
375    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_0_2">
376      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
377      <Annotation Term="OData.Description" String="This version was created to update the CertificateString description.  It was also created to update descriptions that this schema defines."/>
378      <EntityType Name="Certificate" BaseType="Certificate.v1_0_1.Certificate"/>
379    </Schema>
380
381    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_0_3">
382      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
383      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
384      <EntityType Name="Certificate" BaseType="Certificate.v1_0_2.Certificate"/>
385    </Schema>
386
387    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_0_4">
388      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
389      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
390      <EntityType Name="Certificate" BaseType="Certificate.v1_0_3.Certificate"/>
391    </Schema>
392
393    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_0_5">
394      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
395      <Annotation Term="OData.Description" String="This version was created to update descriptions to reference attributes defined in RFC2985 and RFC5280."/>
396      <EntityType Name="Certificate" BaseType="Certificate.v1_0_4.Certificate"/>
397    </Schema>
398
399    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_0_6">
400      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
401      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
402      <EntityType Name="Certificate" BaseType="Certificate.v1_0_5.Certificate"/>
403    </Schema>
404
405    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_0_7">
406      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
407      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
408      <EntityType Name="Certificate" BaseType="Certificate.v1_0_6.Certificate"/>
409    </Schema>
410
411    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_1_0">
412      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
413      <Annotation Term="Redfish.Release" String="2019.1"/>
414      <Annotation Term="OData.Description" String="This version was created to add the `Renew` and `Rekey` actions."/>
415
416      <EntityType Name="Certificate" BaseType="Certificate.v1_0_1.Certificate"/>
417
418      <ComplexType Name="RekeyResponse">
419        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
420        <Annotation Term="OData.Description" String="The response body for the `Rekey` action."/>
421        <Annotation Term="OData.LongDescription" String="This type shall contain the properties found in the response body for the `Rekey` action."/>
422        <NavigationProperty Name="Certificate" Type="Certificate.Certificate" Nullable="false">
423          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
424          <Annotation Term="OData.Description" String="The link to the certificate being rekeyed."/>
425          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `Certificate` that is replaced after the certificate authority (CA) signs the certificate."/>
426          <Annotation Term="Redfish.Required"/>
427        </NavigationProperty>
428        <Property Name="CSRString" Type="Edm.String" Nullable="false">
429          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
430          <Annotation Term="OData.Description" String="The string for the certificate signing request."/>
431          <Annotation Term="OData.LongDescription" String="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."/>
432          <Annotation Term="Redfish.Required"/>
433        </Property>
434      </ComplexType>
435
436      <ComplexType Name="RenewResponse">
437        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
438        <Annotation Term="OData.Description" String="The response body for the `Renew` action."/>
439        <Annotation Term="OData.LongDescription" String="This type shall contain the properties found in the response body for the `Renew` action."/>
440        <NavigationProperty Name="Certificate" Type="Certificate.Certificate" Nullable="false">
441          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
442          <Annotation Term="OData.Description" String="The link to the certificate being renewed."/>
443          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resource of type `Certificate` that is replaced after the certificate authority (CA) signs the certificate."/>
444          <Annotation Term="Redfish.Required"/>
445        </NavigationProperty>
446        <Property Name="CSRString" Type="Edm.String" Nullable="false">
447          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
448          <Annotation Term="OData.Description" String="The string for the certificate signing request."/>
449          <Annotation Term="OData.LongDescription" String="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."/>
450          <Annotation Term="Redfish.Required"/>
451        </Property>
452      </ComplexType>
453    </Schema>
454
455    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_1_1">
456      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
457      <Annotation Term="OData.Description" String="This version was created to update the CertificateString description.  It was also created to update descriptions that this schema defines."/>
458      <EntityType Name="Certificate" BaseType="Certificate.v1_1_0.Certificate"/>
459    </Schema>
460
461    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_1_2">
462      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
463      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
464      <EntityType Name="Certificate" BaseType="Certificate.v1_1_1.Certificate"/>
465    </Schema>
466
467    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_1_3">
468      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
469      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
470      <EntityType Name="Certificate" BaseType="Certificate.v1_1_2.Certificate"/>
471    </Schema>
472
473    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_1_4">
474      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
475      <Annotation Term="OData.Description" String="This version was created to update descriptions to reference attributes defined in RFC2985 and RFC5280."/>
476      <EntityType Name="Certificate" BaseType="Certificate.v1_1_3.Certificate"/>
477    </Schema>
478
479    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_1_5">
480      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
481      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
482      <EntityType Name="Certificate" BaseType="Certificate.v1_1_4.Certificate"/>
483    </Schema>
484
485    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_1_6">
486      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
487      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
488      <EntityType Name="Certificate" BaseType="Certificate.v1_1_5.Certificate"/>
489    </Schema>
490
491    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_2_0">
492      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
493      <Annotation Term="Redfish.Release" String="2020.1"/>
494
495      <EntityType Name="Certificate" BaseType="Certificate.v1_1_1.Certificate">
496        <Property Name="UefiSignatureOwner" Type="Edm.Guid">
497          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
498          <Annotation Term="OData.Description" String="The UEFI signature owner for this certificate."/>
499          <Annotation Term="OData.LongDescription" String="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."/>
500        </Property>
501      </EntityType>
502    </Schema>
503
504    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_2_1">
505      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
506      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
507      <EntityType Name="Certificate" BaseType="Certificate.v1_2_0.Certificate"/>
508    </Schema>
509
510    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_2_2">
511      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
512      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
513      <EntityType Name="Certificate" BaseType="Certificate.v1_2_1.Certificate"/>
514    </Schema>
515
516    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_2_3">
517      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
518      <Annotation Term="OData.Description" String="This version was created to clarify the usage of UefiSignatureOwner for all certificates managed by UEFI."/>
519      <EntityType Name="Certificate" BaseType="Certificate.v1_2_2.Certificate"/>
520    </Schema>
521
522    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_2_4">
523      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
524      <Annotation Term="OData.Description" String="This version was created to update descriptions to reference attributes defined in RFC2985 and RFC5280."/>
525      <EntityType Name="Certificate" BaseType="Certificate.v1_2_3.Certificate"/>
526    </Schema>
527
528    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_2_5">
529      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
530      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
531      <EntityType Name="Certificate" BaseType="Certificate.v1_2_4.Certificate"/>
532    </Schema>
533
534    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_2_6">
535      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
536      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
537      <EntityType Name="Certificate" BaseType="Certificate.v1_2_5.Certificate"/>
538    </Schema>
539
540    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_3_0">
541      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
542      <Annotation Term="Redfish.Release" String="2021.1"/>
543
544      <EntityType Name="Certificate" BaseType="Certificate.v1_2_3.Certificate">
545        <Property Name="SerialNumber" Type="Edm.String" Nullable="false">
546          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
547          <Annotation Term="OData.Description" String="The serial number of the certificate."/>
548          <Annotation Term="OData.LongDescription" String="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."/>
549          <Annotation Term="Validation.Pattern" String="^([0-9A-Fa-f]{2}:){0,}([0-9A-Fa-f]{2})$"/>
550        </Property>
551        <Property Name="Fingerprint" Type="Edm.String" Nullable="false">
552          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
553          <Annotation Term="OData.Description" String="The fingerprint of the certificate."/>
554          <Annotation Term="OData.LongDescription" String="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."/>
555          <Annotation Term="Validation.Pattern" String="^([0-9A-Fa-f]{2}:){0,}([0-9A-Fa-f]{2})$"/>
556        </Property>
557        <Property Name="FingerprintHashAlgorithm" Type="Edm.String" Nullable="false">
558          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
559          <Annotation Term="OData.Description" String="The hash algorithm for the fingerprint of the certificate."/>
560          <Annotation Term="OData.LongDescription" String="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'."/>
561        </Property>
562        <Property Name="SignatureAlgorithm" Type="Edm.String" Nullable="false">
563          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
564          <Annotation Term="OData.Description" String="The algorithm used for creating the signature of the certificate."/>
565          <Annotation Term="OData.LongDescription" String="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."/>
566        </Property>
567      </EntityType>
568    </Schema>
569
570    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_3_1">
571      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
572      <Annotation Term="OData.Description" String="This version was created to update descriptions to reference attributes defined in RFC2985 and RFC5280."/>
573      <EntityType Name="Certificate" BaseType="Certificate.v1_3_0.Certificate"/>
574    </Schema>
575
576    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_3_2">
577      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
578      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
579      <EntityType Name="Certificate" BaseType="Certificate.v1_3_1.Certificate"/>
580    </Schema>
581
582    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_3_3">
583      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
584      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
585      <EntityType Name="Certificate" BaseType="Certificate.v1_3_2.Certificate"/>
586    </Schema>
587
588    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_4_0">
589      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
590      <Annotation Term="Redfish.Release" String="2021.2"/>
591
592      <EntityType Name="Certificate" BaseType="Certificate.v1_3_0.Certificate">
593        <Property Name="Links" Type="Certificate.v1_4_0.Links" Nullable="false">
594          <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
595          <Annotation Term="OData.LongDescription" String="This property shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
596        </Property>
597        <Property Name="CertificateUsageTypes" Type="Collection(Certificate.v1_4_0.CertificateUsageType)">
598          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
599          <Annotation Term="OData.Description" String="The types or purposes for this certificate."/>
600          <Annotation Term="OData.LongDescription" String="The value of this property shall contain an array describing the types or purposes for this certificate."/>
601        </Property>
602      </EntityType>
603
604      <ComplexType Name="Links" BaseType="Resource.Links">
605        <Annotation Term="OData.Description" String="The links to other resources that are related to this resource."/>
606        <Annotation Term="OData.LongDescription" String="This Redfish Specification-described type shall contain links to resources that are related to but are not contained by, or subordinate to, this resource."/>
607        <NavigationProperty Name="Issuer" Type="Certificate.Certificate">
608          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
609          <Annotation Term="OData.Description" String="A link to the certificate of the CA that issued this certificate."/>
610          <Annotation Term="OData.LongDescription" String="This property shall contain a link to a resources of type `Certificate` that represents the certificate of the CA that issued this certificate."/>
611          <Annotation Term="OData.AutoExpandReferences"/>
612        </NavigationProperty>
613        <NavigationProperty Name="Subjects" Type="Collection(Certificate.Certificate)">
614          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/ReadWrite"/>
615          <Annotation Term="OData.Description" String="An array of links to certificates that were issued by the CA that is represented by this certificate."/>
616          <Annotation Term="OData.LongDescription" String="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."/>
617          <Annotation Term="OData.AutoExpandReferences"/>
618        </NavigationProperty>
619      </ComplexType>
620
621      <EnumType Name="CertificateUsageType">
622        <Member Name="User">
623          <Annotation Term="OData.Description" String="This certificate is a user certificate like those associated with a manager account."/>
624        </Member>
625        <Member Name="Web">
626          <Annotation Term="OData.Description" String="This certificate is a web or HTTPS certificate like those used for event destinations."/>
627        </Member>
628        <Member Name="SSH">
629          <Annotation Term="OData.Description" String="This certificate is used for SSH."/>
630        </Member>
631        <Member Name="Device">
632          <Annotation Term="OData.Description" String="This certificate is a device type certificate like those associated with SPDM and other standards."/>
633        </Member>
634        <Member Name="Platform">
635          <Annotation Term="OData.Description" String="This certificate is a platform type certificate like those associated with SPDM and other standards."/>
636        </Member>
637        <Member Name="BIOS">
638          <Annotation Term="OData.Description" String="This certificate is a BIOS certificate like those associated with UEFI."/>
639        </Member>
640        <Member Name="IDevID">
641          <Annotation Term="OData.Description" String="This certificate is an IDevID certificate like those associated with TCG TPMs."/>
642          <Annotation Term="Redfish.Revisions">
643            <Collection>
644              <Record>
645                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
646                <PropertyValue Property="Version" String="v1_8_0"/>
647              </Record>
648            </Collection>
649          </Annotation>
650        </Member>
651        <Member Name="LDevID">
652          <Annotation Term="OData.Description" String="This certificate is an LDevID certificate like those associated with TCG TPMs."/>
653          <Annotation Term="Redfish.Revisions">
654            <Collection>
655              <Record>
656                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
657                <PropertyValue Property="Version" String="v1_8_0"/>
658              </Record>
659            </Collection>
660          </Annotation>
661        </Member>
662        <Member Name="IAK">
663          <Annotation Term="OData.Description" String="This certificate is an IAK certificate like those associated with TCG TPMs."/>
664          <Annotation Term="Redfish.Revisions">
665            <Collection>
666              <Record>
667                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
668                <PropertyValue Property="Version" String="v1_8_0"/>
669              </Record>
670            </Collection>
671          </Annotation>
672        </Member>
673        <Member Name="LAK">
674          <Annotation Term="OData.Description" String="This certificate is an LAK certificate like those associated with TCG TPMs."/>
675          <Annotation Term="Redfish.Revisions">
676            <Collection>
677              <Record>
678                <PropertyValue Property="Kind" EnumMember="Redfish.RevisionKind/Added"/>
679                <PropertyValue Property="Version" String="v1_8_0"/>
680              </Record>
681            </Collection>
682          </Annotation>
683        </Member>
684      </EnumType>
685    </Schema>
686
687    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_4_1">
688      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
689      <Annotation Term="OData.Description" String="This version was created to update descriptions to reference attributes defined in RFC2985 and RFC5280."/>
690      <EntityType Name="Certificate" BaseType="Certificate.v1_4_0.Certificate"/>
691    </Schema>
692
693    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_4_2">
694      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
695      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
696      <EntityType Name="Certificate" BaseType="Certificate.v1_4_1.Certificate"/>
697    </Schema>
698
699    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_4_3">
700      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
701      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
702      <EntityType Name="Certificate" BaseType="Certificate.v1_4_2.Certificate"/>
703    </Schema>
704
705    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_5_0">
706      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
707      <Annotation Term="Redfish.Release" String="2021.3"/>
708
709      <EntityType Name="Certificate" BaseType="Certificate.v1_4_0.Certificate">
710        <Property Name="SPDM" Type="Certificate.v1_5_0.SPDM" Nullable="false">
711          <Annotation Term="OData.Description" String="SPDM-related information for the certificate."/>
712          <Annotation Term="OData.LongDescription" String="The value of this property shall contain SPDM-related information for the certificate.  This property shall only be present for SPDM certificates."/>
713        </Property>
714      </EntityType>
715
716      <ComplexType Name="SPDM">
717        <Annotation Term="OData.AdditionalProperties" Bool="false"/>
718        <Annotation Term="OData.Description" String="SPDM-related information for a certificate."/>
719        <Annotation Term="OData.LongDescription" String="This type shall contain SPDM-related information for a certificate."/>
720        <Property Name="SlotId" Type="Edm.Int64">
721          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
722          <Annotation Term="OData.Description" String="Slot identifier of the certificate."/>
723          <Annotation Term="OData.LongDescription" String="The value of this property shall contain an integer between 0 and 7, inclusive, that represents the slot identifier for an SPDM-provided certificate."/>
724        </Property>
725      </ComplexType>
726    </Schema>
727
728    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_5_1">
729      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
730      <Annotation Term="OData.Description" String="This version was created to update descriptions to reference attributes defined in RFC2985 and RFC5280."/>
731      <EntityType Name="Certificate" BaseType="Certificate.v1_5_0.Certificate"/>
732    </Schema>
733
734    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_5_2">
735      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
736      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
737      <EntityType Name="Certificate" BaseType="Certificate.v1_5_1.Certificate"/>
738    </Schema>
739
740    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_5_3">
741      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
742      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
743      <EntityType Name="Certificate" BaseType="Certificate.v1_5_2.Certificate"/>
744    </Schema>
745
746    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_6_0">
747      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
748      <Annotation Term="Redfish.Release" String="2022.1"/>
749
750      <EntityType Name="Certificate" BaseType="Certificate.v1_5_1.Certificate"/>
751
752      <ComplexType Name="Identifier" BaseType="Certificate.v1_0_0.Identifier">
753        <Property Name="DisplayString" Type="Edm.String">
754          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
755          <Annotation Term="OData.Description" String="A human-readable string for this identifier."/>
756          <Annotation Term="OData.LongDescription" String="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."/>
757        </Property>
758        <Property Name="DomainComponents" Type="Collection(Edm.String)">
759          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
760          <Annotation Term="OData.Description" String="The domain components of the entity."/>
761          <Annotation Term="OData.LongDescription" String="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."/>
762        </Property>
763        <Property Name="AdditionalCommonNames" Type="Collection(Edm.String)">
764          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
765          <Annotation Term="OData.Description" String="Additional common names of the entity."/>
766          <Annotation Term="OData.LongDescription" String="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."/>
767        </Property>
768        <Property Name="AdditionalOrganizationalUnits" Type="Collection(Edm.String)">
769          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
770          <Annotation Term="OData.Description" String="Additional organizational units of the entity."/>
771          <Annotation Term="OData.LongDescription" String="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."/>
772        </Property>
773      </ComplexType>
774    </Schema>
775
776    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_6_1">
777      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
778      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
779      <EntityType Name="Certificate" BaseType="Certificate.v1_6_0.Certificate"/>
780    </Schema>
781
782    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_6_2">
783      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
784      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
785      <EntityType Name="Certificate" BaseType="Certificate.v1_6_1.Certificate"/>
786    </Schema>
787
788    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_7_0">
789      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
790      <Annotation Term="Redfish.Release" String="2023.1"/>
791
792      <EntityType Name="Certificate" BaseType="Certificate.v1_6_0.Certificate"/>
793
794      <ComplexType Name="Identifier" BaseType="Certificate.v1_6_0.Identifier">
795        <Property Name="AlternativeNames" Type="Collection(Edm.String)">
796          <Annotation Term="OData.Permissions" EnumMember="OData.Permission/Read"/>
797          <Annotation Term="OData.Description" String="The additional host names of the entity."/>
798          <Annotation Term="OData.LongDescription" String="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."/>
799        </Property>
800      </ComplexType>
801    </Schema>
802
803    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_7_1">
804      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
805      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
806      <EntityType Name="Certificate" BaseType="Certificate.v1_7_0.Certificate"/>
807    </Schema>
808
809    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_7_2">
810      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
811      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
812      <EntityType Name="Certificate" BaseType="Certificate.v1_7_1.Certificate"/>
813    </Schema>
814
815    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_8_0">
816      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
817      <Annotation Term="Redfish.Release" String="2023.2"/>
818      <Annotation Term="OData.Description" String="This version was created to add the values `IDevID`, `LDevID`, `IAK`, and `LAK` to `CertificateUsageType` to support TCG TPM certificates."/>
819
820      <EntityType Name="Certificate" BaseType="Certificate.v1_7_0.Certificate"/>
821    </Schema>
822
823    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_8_1">
824      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
825      <Annotation Term="OData.Description" String="This version was created to correct various typographical errors."/>
826      <EntityType Name="Certificate" BaseType="Certificate.v1_8_0.Certificate"/>
827    </Schema>
828
829    <Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="Certificate.v1_8_2">
830      <Annotation Term="Redfish.OwningEntity" String="DMTF"/>
831      <Annotation Term="OData.Description" String="This version was created to force the regeneration of OpenAPI schemas to properly express nullable properties with external references.  It was also created to correct various typographical errors."/>
832      <EntityType Name="Certificate" BaseType="Certificate.v1_8_1.Certificate"/>
833    </Schema>
834
835  </edmx:DataServices>
836</edmx:Edmx>
837