Certificate Service

The CertificateService describes a Certificate Service that represents the actions available to manage certificates and links to the certificates.

URI: /redfish/v1/CertificateService

Method: GET

Response: 200

{

"@odata.type": "#CertificateService.v1_0_1.CertificateService",

"@odata.id": "/redfish/v1/CertificateService",

"Id": "CertificateService",

"Name": "Certificate Service",

"CertificateLocations": {

"@odata.id": "/redfish/v1/CertificateService/CertificateLocations"

},

"Actions": {

"Oem": {

},

"#CertificateService.GenerateCSR": {

"target": "/redfish/v1/CertificateService/Actions/CertificateService.GenerateCSR",

"@Redfish.ActionInfo": "/redfish/v1/CertificateService/GenerateCSRActionInfo"

},

"#CertificateService.ReplaceCertificate": {

"target": "/redfish/v1/CertificateService/Actions/CertificateService.ReplaceCertificate",

"@Redfish.ActionInfo": "/redfish/v1/CertificateService/ReplaceCertificateActionInfo"

}

}

}

Generating CSR

Generate a certificate signing request (CSR) for the SSL certificate.

Generating CSR Action Info

View the list of supported and required parameters to generate CSR.

URI: /redfish/v1/CertificateService/GenerateCSRActionInfo

Method: GET

Response: 200

{

"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",

"@odata.id": "/redfish/v1/CertificateService/GenerateCSRActionInfo",

"Id": "GenerateCSRActionInfo",

"Name": "Generate CSR Action Info",

"Parameters": [

{

"Name": "CommonName",

"Required": true,

"DataType": "String"

},

{

"Name": "AlternativeNames",

"Required": false,

"DataType": "StringArray"

},

{

"Name": "Organization",

"Required": true,

"DataType": "String"

},

{

"Name": "OrganizationalUnit",

"Required": true,

"DataType": "String"

},

{

"Name": "City",

"Required": true,

"DataType": "String"

},

{

"Name": "State",

"Required": true,

"DataType": "String"

},

{

"Name": "Country",

"Required": true,

"DataType": "String"

},

{

"Name": "Email",

"Required": false,

"DataType": "String"

},

{

"Name": "KeyPairAlgorithm",

"Required": false,

"DataType": "String",

"AllowableValues": [

"TPM_ALG_RSA"

]

},

{

"Name": "KeyBitLength",

"Required": false,

"DataType": "Number",

"MinimumValue": 1024,

"MaximumValue": 4096

},

{

"Name": "CertificateCollection",

"Required": true,

"DataType": "Object"

},

{

"Name": "KeyUsage",

"Required": false,

"DataType": "StringArray",

"AllowableValues": [

"ServerAuthentication"

]

}

],

"Oem": {}

}

Generating a CSR Request

This action is used to perform a certificate signing request.

URI: /redfish/v1/CertificateService/Actions/CertificateService.GenerateCSR

Method: POST

Payload:

{

"Country": "US"

"State": "California",

"City": "San Jose",

"Organization": "Supermicro Computer",

"OrganizationalUnit": "PM",

"CommonName": "Supermicro.com",

"KeyPairAlgorithm": "TPM_ALG_RSA",

"CertificateCollection": {"@odata.id": "/redfish/v1/Managers/1/NetworkProtocol/HTTPS/Certificates"}

}

Response: 200

Viewing Certificate Details

URI: /redfish/v1/Managers/1/NetworkProtocol/HTTPS/Certificates/1

Method: GET

Response: 200

{

"@odata.type": "#Certificate.v1_1_0.Certificate",

"@odata.id": "/redfish/v1/Managers/1/NetworkProtocol/HTTPS/Certificates/1",

"Id": "1",

"Name": "HTTPS Certificate",

"CertificateString": "-----BEGIN CERTIFICATE-----

\nMIIE3TCCA8WgAwIBAgIUcdkJIAr/gSwrinFL4k+XbWBnlR0wDQYJKoZIhvcNA

QEL\nBQAwgZ0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMREwDw

YDVQQH\nEwhTYW4gSm9zZTEdMBsGA1UEChMUU3VwZXIgTWljcm8gQ29tcHV0ZXI

xETAPBgNV\nBAsTCFNvZnR3YXJlMQ0wCwYDVQQDEwRJUE1JMSUwIwYJKoZIhvcN

AQkBFhZzdXBw\nb3J0QHN1cGVybWljcm8uY29tMB4XDTIzMDUyMzAwMDAwMFoXD

TMzMDUyMzAwMDAw\nMFowgZ0xCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm

9ybmlhMREwDwYDVQQH\nEwhTYW4gSm9zZTEdMBsGA1UEChMUU3VwZXIgTWljcm8

gQ29tcHV0ZXIxETAPBgNV\nBAsTCFNvZnR3YXJlMQ0wCwYDVQQDEwRJUE1JMSUw

IwYJKoZIhvcNAQkBFhZzdXBw\nb3J0QHN1cGVybWljcm8uY29tMIIBIjANBgkqh

kiG9w0BAQEFAAOCAQ8AMIIBCgKC\nAQEA3VUR7jUFM9R28bo4iXdTxxIsGgyNS5

0PMWud1LTIYN/U07ClLvkpOtHdFcDX\nak7Rr6SyDfcoBTA8pxVbnxJarwKLE0X

6IWYTAl5GGGydUL3RlZXqcVItx1GeXdTQ\ngQkbjGcHAHXDNnpPpIGp0YSZhAaH

XW8i6gGsU8kTKDLgiOVmF1+Ni6yOaxkJCNOa\nAVYH1Vi1UEwBdvmVF7FDdIVoY

rL/3lXKWijEFy/cy9WrloP0+kErf1TW9VB++gkH\nYhn7OLfVY9ao4ZugF3jOv3

bnymF8Kf5UYXmvVkEwYo3qeUWk2/i+hw/FTYEGAWyn\nqRkR7T8+M5+KCB6C/nF

4ei8XRwIDAQABo4IBETCCAQ0wHQYDVR0OBBYEFDNyIpBy\nqt3xgWWPYIzmTMMR

ue0xMIHdBgNVHSMEgdUwgdKAFDNyIpByqt3xgWWPYIzmTMMR\nue0xoYGjpIGgM

IGdMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTER\nMA8GA1UEBx

MIU2FuIEpvc2UxHTAbBgNVBAoTFFN1cGVyIE1pY3JvIENvbXB1dGVy\nMREwDwY

DVQQLEwhTb2Z0d2FyZTENMAsGA1UEAxMESVBNSTElMCMGCSqGSIb3DQEJ\nARYW

c3VwcG9ydEBzdXBlcm1pY3JvLmNvbYIUcdkJIAr/gSwrinFL4k+XbWBnlR0w\nD

AYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAWgZ7y++TsCziQnbMq/PB

\nKdD+fqT5vqYCBuW8oKrlTdLwq7JHd0KjXI3CXy1g+AY454qxEwRC9dltaxaXl

yTH\neF6WRQ/7fwpfkDE6II++yY1LCwGtmgw2pqbMepxlCEkSh2Ievlh2fGz3lB

MfKZLl\n/yIGKfyrslITUr3DdOQGoTU0/rh2rEcGHgkc7SOC2bKoi3S01pAl/zn

hzGTqObar\n4OZiOYSJWhMRJCqJsuJ9BClfL7leCGqNx2u9YyWtveNMb6bdsYOq

A3Vczuke6uIK\nysWtfiALcDr6RbZ1kE9HZ3BTTDJVX8TV3nlvc6KCh6KFNVYRK

liMTWS9fZdIg5FR\nsQ==\n-----END CERTIFICATE-----",

"CertificateType": "PEM",

"Issuer": {

"Country": "US",

"State": "California",

"City": "San Jose",

"Organization": "Super Micro Computer",

"OrganizationalUnit": "Software",

"CommonName": "IPMI",

"Email": "support@supermicro.com"

},

"Subject": {

"Country": "US",

"State": "California",

"City": "San Jose",

"Organization": "Super Micro Computer",

"OrganizationalUnit": "Software",

"CommonName": "IPMI",

"Email": "support@supermicro.com"

},

"ValidNotBefore": "2023-05-23T00:00:00+00:00",

"ValidNotAfter": "2033-05-23T00:00:00+00:00",

"KeyUsage": [

"ServerAuthentication"

],

"Actions": {

"Oem": {},

"#Certificate.Rekey": {

"target": "/redfish/v1/Managers/1/NetworkProtocol/HTTPS/Certificates/1/Actions/Certificate.Rekey",

"@Redfish.ActionInfo": "/redfish/v1/Managers/1/NetworkProtocol/HTTPS/Certificates/1/RekeyActionInfo"

},

"#Certificate.Renew": {

"target": "/redfish/v1/Managers/1/NetworkProtocol/HTTPS/Certificates/1/Actions/Certificate.Renew"

}

}

}

Replacing a Certificate

You can replace an existing certificate. Note that the new file must be a signed certificate.

Replacing Certificate Action Info

View the list of supported and required parameters to generate CSR.

URI: /redfish/v1/CertificateService/ReplaceCertificateActionInfo

Method: GET

Payload:

{

}

Response:

{

"@odata.type": "#ActionInfo.v1_1_2.ActionInfo",

"@odata.id": "/redfish/v1/CertificateService/ReplaceCertificateActionInfo",

"Id": "ReplaceCertificateActionInfo",

"Name": "Replace Certificate Action Info",

"Parameters": [

{

"Name": "CertificateString",

"Required": true,

"DataType": "String"

},

{

"Name": "CertificateType",

"Required": true,

"DataType": "String",

"AllowableValues": [

"PEM"

]

},

{

"Name": "CertificateUri",

"Required": true,

"DataType": "Object"

}

],

"Oem": {}

}

Renewing a Certificate

URI: /redfish/v1/Managers/1/NetworkProtocol/HTTPS/Certificates/1/Actions/Certificate.Renew

Method: POST

Payload:

{

"CertificateString": "-----BEGIN CERTIFICATE REQUEST-----

\nMIICvjCCAaYCAQAweTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWEx\n

ETAPBgNVBAcTCFNhbiBKb3NlMRwwGgYDVQQKExNTdXBlcm1pY3JvIENvbXB1dGVy\nMQ

swCQYDVQQLEwJQTTEXMBUGA1UEAxMOU3VwZXJtaWNyby5jb20wggEiMA0GCSqG\nSIb3

DQEBAQUAA4IBDwAwggEKAoIBAQDHzmkX9rnVBenRS4OCAAbBN1JPXLSy5lUO\n8AYVzD

AyBKsivNZSD9PTXRFYHketUwzihQk8Km3/DbFd2sF9ZIPCc8tiBlS+5dkb\np9g6qilv

1FjvvVD0SYpYQl3km0JK1kh14AxEZARYfAI+j+RH/SA6+T6Nxzl2uB5K\nQQcMSdxjMJ

VF4Q7zMWVFP0NTN6oQkaXXATxh4o9G+SkdDCqVSXD47aYz+2Vfu8gR\nHCXptNYTElCD

N62iDoHAcPQjEuvloJqcKwXczFLgefUgsEQ9YzxYqx3lmpJrJYz/\nuUUbL1Flj7Tq91

FfPNtmRhIAMY8fGBrpqjJr9CsL7zMUV1R7DlWVAgMBAAGgADAN\nBgkqhkiG9w0BAQUF

AAOCAQEAsnEznugI2+IZpjXiI7l+I3yDDQlv0jwtgx7hYCu4\n6F5qlDRzzAlZNvBOop

ynEzkmmMq3vvpl2zdblEsYbLWcja+T1a+0UFgjILi1IIOM\nnJDk1pz34uzMAMQncAtJ

1wtE3NWI6n6+Ni0lvwSqPv5svQ+7zHITfwWbHR4KLyMF\nPM2+XA/47UIq4+SPDPSxSj

aWkFRXGrQKzy+aVH28X/SCVXEArU8UFDFfuILAHYKa\noFDM3n3tbWcWVRyZdSPZVXYE

9uWcZehlwIKh7t69gB6+WxjuONGCwviwNdX0x7A0\nLL8OdA5PISzKTGFESiEnGP914q

yovQ3QgtsZZNtFMAz66B==\n-----END CERTIFICATE REQUEST-----\n",

"CertificateType": "PEM",

"@odata.id": "/redfish/v1/Managers/1/NetworkProtocol/HTTPS/Certificates/1"

}

Response: 200

Replacing the Key Certificate

This action shall generate a new key pair for an existing certificate using the existing certificate data. The response shall contain a signing request that is to be signed by a certificate authority (CA). The service should retain the private key used for the generation of this request when the certificate is installed. The private key should not be part of the response.

URI: /redfish/v1/Managers/1/NetworkProtocol/HTTPS/Certificates/1/Actions/Certificate.Rekey

Method: POST

Payload:

{

KeyPairAlgorithm": "TPM_ALG_RSA"

}

Response: 200