Create CA

Prev Next

Classic/VPC 환경에서 이용 가능합니다.

인증서를 발급할 수 있도록 사설 CA(루트 CA, 중간 CA)를 생성합니다.

요청

요청 형식을 설명합니다. 요청 형식은 다음과 같습니다.

메서드 URI
POST /ca

요청 헤더

Private CA API에서 공통으로 사용하는 헤더에 대한 정보는 Private CA 공통 헤더를 참조해 주십시오.

요청 쿼리 파라미터

파라미터에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
issuerTag String Optional 상위 CA 태그 값
caType String Required 생성할 CA 타입
  • PRIVATE_ROOT | PRIVATE_SUB
    • PRIVATE_ROOT: 루트 CA
    • PRIVATE_SUB: 중간 CA

요청 바디

요청 바디에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
alias String Required CA 이름
  • 3~15자로 영문자, 숫자, 특수문자 '-', '_' 허용하며 영어로 시작
memo String Optional CA 메모
keyType String Required 키 타입
  • RSA2048 | RSA4096 | EC256 | EC521
period String Required 유효 기간(일)
  • 1~3650
  • 최대 허용 유효 기간으로 설정하려면 MAX 입력
x509Parameters Object Required 고급 설정 정보
x509Parameters.commonName String Required 일반 이름
  • 1~64자
x509Parameters.altName String Optional DNS/Email SANs
  • 도메인/호스트 이름 또는 이메일 형식으로 입력
x509Parameters.ip String Optional IP SANs
  • IP 주소 형식으로 입력
x509Parameters.contry String Optional 표준 국가 코드
x509Parameters.locality String Optional 도시 이름
  • 0~128자
  • <예시> Seoul
x509Parameters.stateProvince String Optional 주/도 또는 지방 이름
  • 0~128자
  • <예시> Gyeonggi-do
x509Parameters.organization String Optional 조직 이름
  • 0~64자
x509Parameters.organicationUnit String Optional 부서 이름
  • 0~128자

요청 예시

요청 예시는 다음과 같습니다.

curl --location --request POST 'https://privateca.apigw.gov-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 타입
  • PRIVATE_ROOT | PRIVATE_SUB
data.caInfo.caId Number - CA 식별자
data.caInfo.statusUpdateDate String - 최근 상태 변경 일시(Timestamp)
data.destroyDate String - 삭제 일시(Timestamp)
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 - 등록 일시(Timestamp)
data.status String - CA 상태
  • ACTIVE | DEACTIVATED | DESTROYING
    • ACTIVE: 활성
    • DEACTIVATED: 비활성
    • DESTROYING: 삭제 예정
data.caCertInfo Object - CA 인증서 정보
data.caCertInfo.commonName String - 일반 이름
data.caCertInfo.contry String - 표준 국가 코드
data.caCertInfo.issueName String - 발행 CA 이름
data.caCertInfo.notAfterDate Long - 인증서 만료 일시(Timestamp)
data.caCertInfo.publicKeyAlgorithm String - 암호화 알고리즘
data.caCertInfo.notBeforeDate Long - 인증서 유효 시작 일시(Timestamp)
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://privateca.apigw.gov-ntruss.com/ext/********-********/crl"
                ],
                "ca": [
                    "https://privateca.apigw.gov-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"
        }
    }
}