Pending Client Certificate Accept REST Service

Use Pending Client Certificate Accept REST Service to accept the client communication certificate that was pushed to the IBM Security Guardium Key Lifecycle Manager server from a client device for secure communication. The certificate is added to the keystore and marked as trusted. After a certificate is imported, a client is automatically created and associated with the certificate. Certificate names are used as client names. If two clients have the same name, a random string is appended to each of them. If you want, you can modify the client name as according to your requirement. For more information, see the Update Client REST Service topic.

Operation
POST
URL
https://host:port/SKLM/rest/v1/pendingClientCertificates

By default, Guardium Key Lifecycle Manager server listens to the secure port 9443 (HTTPS) for communication. During IBM Security Guardium Key Lifecycle Manager installation, you can modify this default port.

Request

Request Parameters
Parameter Description
host Specify the IP address or hostname of the IBM Security Guardium Key Lifecycle Manager server.
port Specify the port number on which the IBM Security Guardium Key Lifecycle Manager server listens for requests.
Request Headers
Header name Value
Content-Type application/json
Accept application/json
Authorization SKLMAuth userAuthId=<authIdValue>
Accept-Language Any valid locale that is supported by IBM Security Guardium Key Lifecycle Manager. For example, en or de.
Request body

JSON object with the following specification:

Property name Description
alias Specify a unique name for the certificate. The alias that is passed in the request, is the alias of the accepted certificate. The name is not case-sensitive. For example, if you specify MY Cert1, the value is stored as my cert1. Do not use:
  • The value that begins with 3 alphabetic characters followed by 18 numeric characters, such as aaa000000000000000002. IBM Security Guardium Key Lifecycle Manager uses this format to generate a key group with symmetric keys.
  • Forward slash (/) or backslash (\) characters in the value.
uuid Specify the universal unique identifier of the certificate in the IBM Security Guardium Key Lifecycle Manager database, such as CERTIFICATE-4e064e39-5c15-4e29-83ab-ebd4d275e148.
deviceRole Specify the device role for the PEER_TO_PEER device group. Possible values:
  • owner
  • partner
deviceGroup Specify the device group value such as PEER_TO_PEER.

Response

Response Headers
Header name Value and description
Status Code
200 OK
The request was successful. The response body contains the requested representation.
400 Bad Request
The authentication information was not provided in the correct format.
401 Unauthorized
The authentication credentials were missing or incorrect.
404 Not Found Error
The processing of the request fails.
500 Internal Server Error
The processing of the request fails because of an unexpected condition on the server.
Content-Type application/json
Content-Language Locale for the response message.
Success response body

JSON object with the following specification:

JSON property name Description
code Returns the code that is specified by the status property.
status Returns the status to indicate whether the pending client certificate was successfully accepted.
Error Response Body

JSON object with the following specification.

JSON property name Description
code Returns the application error code.
message Returns a message that describes the error.

Examples

Service request to accept a pending client certificate
POST https://localhost:<port>/SKLM/rest/v1/pendingClientCertificates
{"alias":"sklmcertificate1","uuid":"CERTIFICATE-a38e2239-a36b-41ff-97a1-
0ca72cfa08e8"}
Success response
Status Code: 200 OK
{"code": "0","status": "Succeeded"}
Error response when certificate alias exists
Status Code : 500 Internal Server Error
{"code":"CTGKM2306E","message":"CTGKM2306E  Client certificate alias 
already in use: sklmcertificate1 "}
Error response when there is no pending client certificate
Status Code : 500 Internal Server Error
{"code":"CTGKM2307E","message":"CTGKM2307E  Client certificate UUID 
not found in the database: CERTIFICATE-a3862239-a367-41ff-97a1-
0ca72cfa08e8 "}