reserved instanceIBM Cloud

Upload a key store certificate - go

Import TLS certificate from a single self-contained PEM file into the queue manager's key store.

(mqcloud *MqcloudV1) CreateKeyStorePemCertificate(createKeyStorePemCertificateOptions *CreateKeyStorePemCertificateOptions) (result *KeyStoreCertificateDetails, response *core.DetailedResponse, err error)
(mqcloud *MqcloudV1) CreateKeyStorePemCertificateWithContext(ctx context.Context, createKeyStorePemCertificateOptions *CreateKeyStorePemCertificateOptions) (result *KeyStoreCertificateDetails, response *core.DetailedResponse, err error)

Request

Instantiate the CreateKeyStorePemCertificateOptions struct and set the fields to provide parameter values for the CreateKeyStorePemCertificate method.

parameter WithContext method only
ctx
Context
A context.Context instance that you can use to specify a timeout for the operation or to cancel an in-flight request.
CreateKeyStorePemCertificateOptions The CreateKeyStorePemCertificate options.
ServiceInstanceGuid
Required*
string

The GUID that uniquely identifies the IBM® MQ as a Service instance.

Possible values: length = 36, Value must match regular expression ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$

Example: a2b4d4bc-dadb-4637-bcec-9b7d1e723af8

QueueManagerID
Required*
string

The id of the queue manager to retrieve its full details.

Possible values: length = 32, Value must match regular expression /^[0-9a-fA-F]{32}$/

Examples: b8e1aeda078009cf3db74e90d5d42328
Label
Required*
string

The label to use for the certificate to be uploaded.

Possible values: 1 ≤ length ≤ 64, Value must match regular expression /^[a-zA-Z0-9_.]*$/

Examples: certlabel
CertificateFile
Required*
io.ReadCloser

The filename and path of the certificate to be uploaded.

Possible values: 1500 ≤ length ≤ 65537

Examples: [B@36ab3814

Example request

createKeyStorePemCertificateOptions := mqcloudService.NewCreateKeyStorePemCertificateOptions(
  "a2b4d4bc-dadb-4637-bcec-9b7d1e723af8",
  "b8e1aeda078009cf3db74e90d5d42328",
  "certlabel",
  CreateMockReader("This is a mock file."),
)

keyStoreCertificateDetails, response, err := mqcloudService.CreateKeyStorePemCertificate(createKeyStorePemCertificateOptions)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(keyStoreCertificateDetails, "", "  ")
fmt.Println(string(b))

Response

KeyStoreCertificateDetails The details of a key store certificate in a queue manager certificate key store.
ID
Always included*
string

Id of the certificate.

Possible values: 1 ≤ length ≤ 16, Value must match regular expression ^[0-9a-fA-F]*$

Label
Always included*
string

Certificate label in queue manager store.

Possible values: 1 ≤ length ≤ 64, Value must match regular expression ^[a-zA-Z0-9_.]*$

CertificateType
Always included*
string

The type of certificate.

Possible values: [trust_store]

FingerprintSha256
Always included*
string

Fingerprint SHA256.

Possible values: Value must match regular expression ^[A-F0-9]{2}(:[A-F0-9]{2}){31}$

SubjectDn
Always included*
string
Subject's Distinguished Name.
SubjectCn
Always included*
string
Subject's Common Name.
IssuerDn
Always included*
string
Issuer's Distinguished Name.
Issued
Always included*
date-time
The Date the certificate was issued.
Expiry
Always included*
date-time
Expiry date for the certificate.
Trusted
Always included*
boolean
Indicates whether a certificate is trusted.
Href
Always included*
string
The URL for this trust store certificate.
Status code  
201 An object containing details of the queue manager's key store certificate.
301 URI has permanently Moved
400 Bad Request
401 Unauthorized
405 Method not allowed
409 Conflict
429 Service Is Overused
500 Internal Server Error
503 Service Unavailable Error

Example response

Success example

{
  "id": "693d09e6f00e89d",
  "label": "qmgrcert",
  "certificate_type": "key_store",
  "fingerprint_sha256": "BB:C2:09:2B:0C:68:EC:D2:1A:09:DA:F7:51:8D:29:F3:64:88:21:65:40:02:BD:20:1B:11:91:50:8D:90:8B:66",
  "subject_dn": "CN=*.qm1.eu-de.mq.appdomain.cloud",
  "subject_cn": "*.qm1.eu-de.mq.appdomain.cloud",
  "issuer_dn": "CN=R3,O=Let's Encrypt,C=US",
  "issuer_cn": "R3",
  "issued": "2023-05-29T11:17:00Z",
  "expiry": "2023-08-27T11:16:59Z",
  "is_default": true,
  "dns_names_total_count": 1,
  "dns_names": [
    "*.qm1.eu-de.mq.appdomain.cloud"
  ],
  "href": "https://api.private.eu-de.mq2.cloud.ibm.com/v1/a2b4d4bc-dadb-4637-bcec-9b7d1e723af8/queue_managers/b8e1aeda078009cf3db74e90d5d42328/certificates/key_store/693d09e6f00e89d",
  "config": {
    "ams": {
      "channels": [
        {
          "name": "CLOUD.APP.SVRCONN"
        }
      ]
    }
  }
}}