Classic/VPC環境で利用できます。
証明書を発行できるようにプライベート CA(ルート CA、中間 CA)を作成します。
リクエスト
リクエスト形式を説明します。リクエスト形式は次の通りです。
| メソッド | URI |
|---|---|
| POST | /api/v1/ca |
リクエストヘッダ
Private CA APIで共通して使用されるヘッダの詳細は、Private CAのリクエストヘッダをご参照ください。
リクエストクエリパラメータ
リクエストクエリパラメータの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
issuerTag |
String | Optional | 上位 CAタグ |
caType |
String | Required | 作成する CAタイプ
|
リクエストボディ
リクエストボディの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
alias |
String | Required | CA名
|
memo |
String | Optional | CAメモ |
keyType |
String | Required | キータイプ
|
period |
String | Required | 有効期限(日)
|
x509Parameters |
Object | Required | 高度な設定情報 |
x509Parameters.commonName |
String | Required | 一般名
|
x509Parameters.altName |
String | Optional | DNS/Email SANs
|
x509Parameters.ip |
String | Optional | IP SANs
|
x509Parameters.contry |
String | Optional | 標準国コード |
x509Parameters.locality |
String | Optional | 都市名
|
x509Parameters.stateProvince |
String | Optional | 州/道または地域名
|
x509Parameters.organization |
String | Optional | 組織名
|
x509Parameters.organicationUnit |
String | Optional | 部署名
|
リクエスト例
リクエストのサンプルコードは次の通りです。
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"
}
}'
レスポンス
レスポンス形式を説明します。
レスポンスボディ
レスポンスボディの説明は次の通りです。
| フィールド | タイプ | 必須の有無 | 説明 |
|---|---|---|---|
code |
String | - | レスポンスコード |
msg |
String | - | レスポンスメッセージ |
data |
Object | - | レスポンス結果 |
data.caInfo |
Object | - | CA情報 |
data.caInfo.signingCount |
Number | - | CAで署名した証明書の数 |
data.caInfo.caType |
String | - | CAタイプ
|
data.caInfo.caId |
Number | - | CA識別子 |
data.caInfo.statusUpdateDate |
String | - | 最終状態更新日時
|
data.destroyDate |
String | - | 削除日時
|
data.caInfo.alias |
String | - | CA名 |
data.caInfo.memo |
String | - | CAメモ |
data.caInfo.urlInfo |
Object | - | URL情報 |
data.caInfo.urlInfo.ocsp |
Array | - | OCSP(オンライン証明書状態プロトコル) URL |
data.caInfo.urlInfo.crl |
Array | - | CRL(証明書失効リスト) URL |
data.caInfo.urlInfo.ca |
Array | - | CA URL |
data.caTag |
String | - | CAのタグ |
data.rgstDate |
Number | - | 登録日時
|
data.status |
String | - | CAの状態
|
data.caCertInfo |
Object | - | CA証明書情報 |
data.caCertInfo.commonName |
String | - | 一般名 |
data.caCertInfo.contry |
String | - | 標準国コード |
data.caCertInfo.issueName |
String | - | 発行 CA名 |
data.caCertInfo.notAfterDate |
Long | - | 証明書の期限切れ日時
|
data.caCertInfo.publicKeyAlgorithm |
String | - | 暗号化アルゴリズム |
data.caCertInfo.notBeforeDate |
Long | - | 証明書の有効開始日時
|
data.caCertInfo.locality |
String | - | 都市名 |
data.caCertInfo.stateProvince |
String | - | 州/道または地域名 |
data.caCertInfo.organicationUnit |
String | - | 部署名 |
data.caCertInfo.certPem |
String | - | CA証明書(PEM) |
data.caCertInfo.chainPem |
String | - | 証明書チェーン(PEM) |
data.caCertInfo.signatureAlgorithm |
String | - | 署名アルゴリズム |
data.caCertInfo.serialNo |
String | - | 証明書のシリアル番号 |
data.caCertInfo.caCertId |
Long | - | 証明書の識別子 |
data.caCertInfo.organization |
String | - | 組織名 |
レスポンスステータスコード
Private CA APIで共通して使用されるレスポンスステータスコードの詳細は、Private CAのレスポンスステータスコードをご参照ください。
レスポンス例
レスポンスのサンプルコードは次の通りです。
{
"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"
}
}
}