--- title: "createExternalCertificate" slug: "security-certificatemanager-createexternalcertificate" updated: 2026-10-08T04:19:30Z published: 2026-10-08T04:19:30Z canonical: "api.ncloud-docs.com/security-certificatemanager-createexternalcertificate" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # createExternalCertificate Available in Classic and VPC Add an SSL certificate issued by a recognized certificate authority outside of NAVER Cloud Platform. ## Request This section describes the request format. The method and URI are as follows: | Method | URI | | --- | --- | | POST | /api/v1/certificate/withExternal | ### Request headers For information about the request headers common to all Certificate Manager APIs, see [Certificate Manager request headers](/docs/en/security-certificatemanager#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94). ### Request body You can include the following data in the body of your request: | Field | Type | Required | Description | | --- | --- | --- | --- | | `certificateName` | String | Required | Certificate name - Enter 3 to 20 characters, including English letters, numbers, and special character "-". - Can't be duplicated. | | `privateKey` | String | Required | PEM-encoded certificate private key - If your private key is encrypted, decrypt it and enter it. - Decrypt: See [Certificate Manager user guide](https://guide.ncloud-docs.com/docs/en/certificatemanager-addcertificate#%EC%9D%B8%EC%A6%9D%EC%84%9C%EB%93%B1%EB%A1%9D%EC%8B%9C%EC%98%A4%EB%A5%98). - Can't be duplicated. | | `publicKeyCertificate` | String | Required | PEM-encoded certificate body - Can't be duplicated. | | `certificateChain` | String | Required | PEM-encoded certificate chain - Extract chain: See [Certificate Manager user guide](https://guide.ncloud-docs.com/docs/en/certificatemanager-addcertificate#certificate-chain-%EB%93%B1%EB%A1%9D). - Can't be duplicated. | ### Request example The request example is as follows: ``` curl --location --request POST 'https://certificatemanager.apigw.ntruss.com/api/v1/certificate/withExternal' \ --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' \ --header 'accept: application/json' \ --data '{ "certificateName": {Certificate Name}, "privateKey": {Private Key}, "publicKeyCertificate": {Public Key Certificate}, "certificateChain": {Certificate Chain} }' ``` ## Response This section describes the response format. ### Response body The response body includes the following data: | Field | Type | Required | Description | | --- | --- | --- | --- | | `returnCode` | String | - | Response code | | `returnMessage` | String | - | Response message | | `totalRows` | Integer | - | Number of SSL certificates (`sslCertificateList`) | | `sslCertificateList` | Array | - | Certificate list: [sslCertificateList](/docs/en/security-certificatemanager-createexternalcertificate#sslCertificateList) | #### `sslCertificateList` The following describes `sslCertificateList`. | Field | Type | Required | Description | | --- | --- | --- | --- | | `certificateNo` | Integer | - | Certificate number | | `certificateType` | String | - | Certificate type | | `certificateName` | String | - | Certificate name | | `memberNo` | String | - | User's NAVER Cloud Platform member ID | | `dnInfo` | String | - | Certificate distinguished name (DN) information | | `domainAddress` | String | - | Representative domain address of the certificate | | `subDomainAddress` | String | - | Sub domain address of the certificate | | `regDate` | Date | - | Certificate registration date and time | | `validStartDate` | Date | - | Certification validity start date and time | | `validEndDate` | Date | - | Certification validity end date and time | | `revokeDate` | Date | - | Certificate revocation date and time - Display only if the certificate is revoked. | | `statusCode` | String | - | Certificate status code | | `statusName` | String | - | Certificate status | | `externalYn` | String | - | External certificate status | | `domainCode` | String | - | Domain code | | `caInfo` | String | - | Certificate authority (CA) information | | `certSerialNumber` | String | - | Certificate serial number | | `certPublicKeyInfo` | String | - | Public key information | | `certSignAlgorithmName` | String | - | Signature algorithm | | `usedInstanceNoList` | String | - | List of instances using the certificate | | `updateDate` | Date | - | Latest change date and time | ### Response status codes For information about the response status codes common to all Certificate Manager APIs, see [Certificate Manager response status codes](/docs/en/security-certificatemanager#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C). ### Response example The response example is as follows: ``` { "returnCode": "0", "returnMessage": "Success", "totalRows": 1, "sslCertificateList": [ { "certificateNo": 30728, "certificateType": "EXT", "certificateName": "zero-certi", "memberNo": "*******", "dnInfo": "CN=************.***.kr", "domainAddress": "************.***.kr", "subDomainAddress": "", "regDate": "2024-07-30 11:33:33", "validStartDate": "2024-07-30 09:00:00", "validEndDate": "2024-10-29 08:59:59", "statusCode": "1", "statusName": "Normal", "externalYn": "Y", "domainCode": "PUB", "caInfo": "ZeroSSL RSA Domain Secure Site CA", "certSerialNumber": "92cf99ce**************a6205a5018", "certPublicKeyInfo": "Sun RSA public key, 2048 bits", "certSignAlgorithmName": "SHA384withRSA", "updateDate": "2024-07-30 11:33:33" } ] } ```