KMS

개요

KMS API는 RESTful 형태로 제공됩니다. KMS Rest API를 호출하기 위해서는 API Gateway와 Sub Account 인증을 수행해야 합니다.
API Gateway를 통한 API 호출은 API Gateway 설명서를 참조하세요. API 요청 메시지는 아래와 같이 구성됩니다.

요청 구성

Header
  x-ncp-apigw-timestamp:{Timestamp}
  x-ncp-apigw-api-key:{API Gateway API Key}
  x-ncp-iam-access-key:{Sub Account Access Key}
  x-ncp-apigw-signature-v1:{API Gateway Signature}
  Content-Type:application/json
Body
  fieldName: {Base64 Encoded message}
URL
  https://kms.apigw.ntruss.com/keys/v1/{keyTag}/{action}
  또는 https://kms.apigw.fin-ntruss.com/keys/v1/{keyTag}/{action}

예시

요청 예시 1

curl -i -s -X POST \
-H "x-ncp-apigw-timestamp:1511759789542" \
-H "x-ncp-apigw-api-key:12345678907qLxeMDTgd2kyKLOb" \
-H "x-ncp-iam-access-key:3A03131E1348C83101" \
-H "x-ncp-apigw-signature-v1:FkL1mw12345678DRu9R50tdGSyc/uQ/oTw=" \
-H "Content-Type:application/json" \
-d '{"plaintext":"dGVzdA=="}' \
'https://kms.apigw.ntruss.com/keys/v1/bc6b4afe023f29721934567893905c8f7d2ca631c57533211316c89fa3/encrypt'

요청 예시 2

curl -i -s -X POST \
-H "x-ncp-apigw-timestamp:1511759789542" \
-H "x-ncp-apigw-api-key:12345678907qLxeMDTgd2kyKLOb" \
-H "x-ncp-iam-access-key:3A03131E1348C83101" \
-H "x-ncp-apigw-signature-v1:FkL1mw12345678DRu9R50tdGSyc/uQ/oTw=" \
-H "Content-Type:application/json" \
-d '{"plaintext":"dGVzdA=="}' \
'https://kms.apigw.fin-ntruss.com/keys/v1/bc6b4afe023f29721934567893905c8f7d2ca631c57533211316c89fa3/encrypt'

응답 예시

{
  "code": "SUCCESS",
  "msg": "",
  "data":{
    "ciphertext": "ncpkms:v1:gsYccPMkd/fAtqbKuj2ov4H+EdZC8Qb/b1GPIIN2Z61+yULo"
  }
}

에러 코드

응답 코드 응답 메시지
FORBIDDEN “Forbidden”
INTERNAL_SERVER_ERROR “Server internal error”
UNPROCESSABLE_ENTITY “Invalid status”
INVALID_REQUEST “Invalid request”
UNAUTHORIZED “Unauthorized”
NOT_FOUND “Not found”
INVALID_STATUS “Invalid status”

Prefix

마스터키로 암호화되어 반환되는 데이터는 ‘KMS prefix + 암호문’으로 구성되어 있습니다. KMS prefix는 [ncpkms:버전정보]로 구성되어 있으며, 이는 복호화 시에 반드시 필요한 정보이므로 임의 제거 및 조작이 금지됩니다. KMS prefix가 올바르지 않다면 정확히 복호화되지 않습니다. 반환된 형태 그대로 관리하는 것이 좋습니다.

 ncpkms:v1:XjsPWPjqPrBi1N2DupSiSbX/ATkGmKA
 --------- -------------------------------
KMS prefix        암호문

오퍼레이션