Create CA
    • PDF

    Create CA

    • PDF

    Article summary

    Available in Classic and VPC

    Create a private CA (root CA, intermediate CA) to issue certificates.

    Request

    The following describes the request format for the endpoint. The request format is as follows:

    MethodURI
    POST/ca

    Request headers

    For headers common to all Private CA APIs, see Common Private CA headers.

    Request query parameters

    The following describes the parameters.

    FieldTypeRequiredDescription
    issuerTagStringOptionalParent CA tag value
    caTypeStringRequiredType of CA to create
    • PRIVATE_ROOT | PRIVATE_SUB
      • PRIVATE_ROOT: root CA
      • PRIVATE_SUB: intermediate CA

    Request body

    The following describes the request body.

    FieldTypeRequiredDescription
    aliasStringRequiredCA name
    • 3 to 15 characters, including English letters, numbers, and special characters "-" and "_", and it must start with a English letter
    memoStringOptionalCA memo
    keyTypeStringRequiredKey type
    • RSA2048 | RSA4096 | EC256 | EC521
    periodStringRequiredValidity period (days)
    • 1 - 3650
    • Enter MAX to set it to the maximum allowable validity period
    x509ParametersObjectRequiredAdvanced settings information
    x509Parameters.commonNameStringRequiredGeneral name
    • 1 - 64 characters
    x509Parameters.altNameStringOptionalDNS/email SANs
    • Enter domain/host name or email format
    x509Parameters.ipStringOptionalIP SANs
    • Enter in the IP address format
    x509Parameters.contryStringOptionalStandard country code
    x509Parameters.localityStringOptionalCity name
    • 0 - 128 characters
    • <E.g.> Seoul
    x509Parameters.stateProvinceStringOptionalState/province or region name
    • 0 - 128 characters
    • <E.g.> Gyeonggi-do
    x509Parameters.organizationStringOptionalOrganization name
    • 0 - 64 characters
    x509Parameters.organicationUnitStringOptionalDepartment name
    • 0 - 128 characters

    Request example

    The following is a sample request.

    curl --location --request POST 'https://pca.apigw.ntruss.com/api/v1/ca?caType=PRIVATE_ROOT' \
    --header 'x-ncp-apigw-timestamp: {Timestamp}' \
    --header 'x-ncp-iam-access-key: {Access Key}' \
    --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
    --header 'Content-Type: application/json' \
    --data '{
        "alias": "CA002",
        "keyType": "RSA2048",
        "period": "MAX",
        "x509Parameters": {
            "commonName": "name000",
            "country": "KOR",
            "organization": "org000",
            "organizationUnit": "org001",
            "locality": "Pangyo",
            "stateProvince": "Seongnam-si"
        }
    }'
    

    Response

    The following describes the response format.

    Response body

    The following describes the response body.

    FieldTypeRequiredDescription
    codeString-Response code
    msgString-Response message
    dataObject-Response result
    data.caInfoObject-CA information
    data.caInfo.signingCountNumber-No. of certificates signed by CA
    data.caInfo.caTypeString-CA type
    • PRIVATE_ROOT | PRIVATE_SUB
    data.caInfo.caIdNumber-CA identifier
    data.caInfo.statusUpdateDateString-Latest status change date and time (timestamp)
    data.destroyDateString-Deletion date and time (timestamp)
    data.caInfo.aliasString-CA name
    data.caInfo.memoString-CA memo
    data.caInfo.urlInfoObject-URL information
    data.caInfo.urlInfo.ocspArray-Online Certificate Status Protocol (OCSP) URL
    data.caInfo.urlInfo.crlArray-Certificate revocation list (CRL) URL
    data.caInfo.urlInfo.caArray-CA URL
    data.caTagString-CA's tag value
    data.rgstDateNumber-Registration date and time (timestamp)
    data.statusString-CA status
    • ACTIVE | DEACTIVATED | DESTROYING
      • ACTIVE: enabled
      • DEACTIVATED: disabled
      • DESTROYING: scheduled for deletion
    data.caCertInfoObject-CA certificate information
    data.caCertInfo.commonNameString-Common name
    data.caCertInfo.contryString-Standard country code
    data.caCertInfo.issueNameString-Issued CA name
    data.caCertInfo.notAfterDateLong-Certification expiration date and time (timestamp)
    data.caCertInfo.publicKeyAlgorithmString-Encryption algorithm
    data.caCertInfo.notBeforeDateLong-Certification validity start date and time (timestamp)
    data.caCertInfo.localityString-City name
    data.caCertInfo.stateProvinceString-State/province or region name
    data.caCertInfo.organicationUnitString-Department name
    data.caCertInfo.certPemString-CA certificate (PEM)
    data.caCertInfo.chainPemString-Certificate chain (PEM)
    data.caCertInfo.signatureAlgorithmString-Signature algorithm
    data.caCertInfo.serialNoString-Certificate serial number
    data.caCertInfo.caCertIdLong-Certification identifier
    data.caCertInfo.organizationString-Organization name

    Response status codes

    For response status codes common to all Private CA APIs, see Private CA response status codes.

    Response example

    The following is a sample example.

    {
        "code": "SUCCESS",
        "msg": "Success",
        "data": {
            "caInfo": {
                "signingCount": 0,
                "caType": "PRIVATE_ROOT",
                "caId": 17***,
                "statusUpdateDate": null,
                "destroyDate": null,
                "alias": "CA002",
                "memo": "",
                "urlInfo": {
                    "ocsp": [],
                    "crl": [
                        "https://pca.apigw.ntruss.com/ext/********-********/crl"
                    ],
                    "ca": [
                        "https://pca.apigw.ntruss.com/ext/********-********/ca"
                    ]
                },
                "caTag": "********-********",
                "rgstDate": 1721175807574,
                "status": "ACTIVE"
            },
            "caCertInfo": {
                "commonName": "name000",
                "country": "KOR",
                "issuerName": "name000",
                "notAfterDate": 2036535807000,
                "publicKeyAlgorithm": "RSA",
                "notBeforeDate": 1721175777000,
                "locality": "Pangyo",
                "stateProvince": "Seongnam-si",
                "organizationUnit": "org001",
                "certPem": "-----BEGIN CERTIFICATE-----\n{Certificate}\n-----END CERTIFICATE-----",
                "chainPem": "-----BEGIN CERTIFICATE-----\n{CA Chain}\n-----END CERTIFICATE-----",
                "signatureAlgorithm": "SHA256withRSA",
                "serialNo": "**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**",
                "caCertId": 17***,
                "organization": "org000"
            }
        }
    }
    

    Was this article helpful?

    What's Next
    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.