CA(CLI) 생성 절차 - AWS Private Certificate Authority

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CA(CLI) 생성 절차

create-certificate-authority명령을 사용하여 사설 CA를 생성합니다. CA 구성(알고리즘 및 보안 주체 이름 정보 포함), 해지 구성(OCSP 및/또는 CRL을 사용하려는 경우), CA 유형(루트 또는 하위)을 지정해야 합니다. 구성 및 해지 구성 세부 정보는 명령에 인수로 제공하는 두 파일에 포함되어 있습니다. 선택적으로 CA 사용 모드(표준 또는 단기 인증서 발급용)를 구성하고, 태그를 첨부하고, 멱등성 토큰을 제공할 수도 있습니다.

CRL을 구성하는 경우 create-certificate-authority 명령을 실행하기 전에 안전한 Amazon S3 버킷이 있어야 합니다. 자세한 정보는 Amazon S3의 CRL에 대한 액세스 정책 을 참조하세요.

CA 구성 파일은 다음 정보를 지정합니다.

  • 알고리즘의 이름

  • CA 프라이빗 키를 생성하는 데 사용할 키 크기

  • CA가 서명하는 데 사용하는 서명 알고리즘 유형

  • X.500 보안 주체 정보

OCSP의 해지 구성은 다음 정보를 사용하여 OcspConfiguration 객체를 정의합니다.

  • Enabled 플래그를 “true”로 설정합니다.

  • (옵션) OcspCustomCname의 값으로 선언된 사용자 지정 CNAME입니다.

CRL의 해지 구성은 다음 정보로 CrlConfiguration 객체를 정의합니다.

  • Enabled 플래그를 “true”로 설정합니다.

  • CRL 만료 기간(일)(CRL의 유효 기간).

  • CRL이 포함되어 있는 Amazon S3 버킷입니다.

  • (선택 사항) CRL에 공개적으로 액세스할 수 있는지 여부를 결정하는 S3 ObjectAcl 값입니다. 여기에 제시된 예제에서는 공개 액세스가 차단됩니다. 자세한 정보는 다음을 통해 S3 블록 퍼블릭 액세스 (BPA) 를 활성화합니다. CloudFront 을 참조하세요.

  • (옵션) CA에서 발급한 인증서에 포함된 S3 버킷의 CNAME 별칭입니다. CRL에 공개적으로 액세스할 수 없는 경우 이는 CloudFront Amazon과 같은 배포 메커니즘을 가리킵니다.

  • (선택 사항) 다음 정보가 포함된 CrlDistributionPointExtensionConfiguration 객체:

    • OmitExtension플래그는 “true” 또는 “false”로 설정됩니다. 이는 CDP 확장의 기본값을 CA에서 발급한 인증서에 기록할지 여부를 제어합니다. CDP 확장에 대한 자세한 내용은 을 참조하십시오. CRL 배포 지점 (CDP) URI 결정 OmitExtension A가 “true”인 경우 설정할 수 CustomCname 없습니다.

참고

OcspConfiguration 객체와 CrlConfiguration 객체를 모두 정의하여 동일한 CA에서 두 개의 해지 메커니즘을 모두 활성화할 수 있습니다. --revocation-configuration 파라미터를 제공하지 않으면 기본적으로 두 메커니즘 모두 비활성화됩니다. 나중에 해지 유효성 검사 지원이 필요한 경우 CA(CLI) 업데이트 섹션을 참조하세요.

다음 예에서는 유효한 기본 리전, 엔드포인트 및 자격 증명을 사용하여 .aws 구성 디렉터리를 설정했다고 가정합니다. AWS CLI 환경 구성에 대한 자세한 내용은 구성 및 자격 증명 파일 설정을 참조하십시오. 가독성을 높이기 위해 예제 명령에서 CA 구성 및 해지 입력을 JSON 파일로 제공합니다. 필요에 따라 예제 파일을 수정하여 사용하세요.

달리 명시되지 않는 한 모든 예제는 다음 ca_config.txt 구성 파일을 사용합니다.

파일: ca_config.txt

{ "KeyAlgorithm":"RSA_2048", "SigningAlgorithm":"SHA256WITHRSA", "Subject":{ "Country":"US", "Organization":"Example Corp", "OrganizationalUnit":"Sales", "State":"WA", "Locality":"Seattle", "CommonName":"www.example.com" } }

예제 1: OCSP가 활성화된 CA 생성

이 예제에서 해지 파일은 AWS Private CA 응답기를 사용하여 인증서 상태를 확인하는 기본 OCSP 지원을 활성화합니다.

파일: OCSP용 revoke_config.txt

{ "OcspConfiguration":{ "Enabled":true } }

명령

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config.txt \ --revocation-configuration file://revoke_config.txt \ --certificate-authority-type "ROOT" \ --idempotency-token 01234567 \ --tags Key=Name,Value=MyPCA

이 명령이 제대로 실행되면 새 CA의 Amazon 리소스 이름(ARN)을 출력합니다.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:region:account: certificate-authority/CA_ID" }

명령

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config.txt \ --revocation-configuration file://revoke_config.txt \ --certificate-authority-type "ROOT" \ --idempotency-token 01234567 \ --tags Key=Name,Value=MyPCA-2

이 명령이 제대로 실행되면 CA의 Amazon 리소스 이름(ARN)을 출력합니다.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" }

CA의 구성을 검사하려면 다음 명령을 사용합니다.

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" \ --output json

이 설명에 다음 사항이 포함되어 있어야 합니다.

"RevocationConfiguration": { ... "OcspConfiguration": { "Enabled": true } ... }

예제 2: OCSP와 사용자 지정 CNAME이 활성화된 CA 생성

이 예제에서 해지 파일은 사용자 지정된 OCSP 지원을 활성화합니다. OcspCustomCname 파라미터는 정규화된 도메인 이름(FQDN)을 값으로 사용합니다.

이 필드에 FQDN을 입력하면 OCSP 응답자의 기본 URL 대신 발급된 각 인증서의 기관 정보 액세스 확장에 FQDN을 AWS Private CA 삽입합니다. AWS 엔드포인트는 사용자 지정 FQDN이 포함된 인증서를 받으면 해당 주소를 쿼리하여 OCSP 응답을 요청합니다. 이 메커니즘이 작동하려면 다음 두 가지 추가 조치를 취해야 합니다.

  • 프록시 서버를 사용하여 사용자 지정 FQDN에 도착하는 트래픽을 OCSP 응답자에게 전달할 수 있습니다. AWS

  • 해당 CNAME 레코드를 DNS 데이터베이스에 추가합니다.

작은 정보

사용자 지정 CNAME을 사용하여 완전한 OCSP 솔루션을 구현하는 방법에 대한 자세한 내용은 AWS Private CA OCSP용 사용자 지정 URL 구성 섹션을 참조하세요.

예를 들어, 다음은 Amazon Route 53에 표시되는 사용자 지정 OCSP에 대한 CNAME 레코드입니다.

레코드 이름 유형 라우팅 정책 차별화 요소 값/트래픽 라우팅 대상

alternative.example.com

CNAME 간편함 - proxy.example.com
참고

CNAME 값에 ‘http://‘ 또는 ‘https://’와 같은 프로토콜 접두사가 포함되면 안 됩니다.

파일: OCSP용 revoke_config.txt

{ "OcspConfiguration":{ "Enabled":true, "OcspCustomCname":"alternative.example.com" } }

명령

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config.txt \ --revocation-configuration file://revoke_config.txt \ --certificate-authority-type "ROOT" \ --idempotency-token 01234567 \ --tags Key=Name,Value=MyPCA-3

이 명령이 제대로 실행되면 CA의 Amazon 리소스 이름(ARN)을 출력합니다.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" }

CA의 구성을 검사하려면 다음 명령을 사용합니다.

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" \ --output json

이 설명에 다음 사항이 포함되어 있어야 합니다.

"RevocationConfiguration": { ... "OcspConfiguration": { "Enabled": true, "OcspCustomCname": "alternative.example.com" } ... }

예제 3: CRL이 첨부된 CA 생성

이 예제에서는 해지 구성이 CRL 파라미터를 정의합니다.

파일: revoke_config.txt

{ "CrlConfiguration":{ "Enabled":true, "ExpirationInDays":7, "S3BucketName":"DOC-EXAMPLE-BUCKET" } }

명령

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config.txt \ --revocation-configuration file://revoke_config.txt \ --certificate-authority-type "ROOT" \ --idempotency-token 01234567 \ --tags Key=Name,Value=MyPCA-1

이 명령이 제대로 실행되면 CA의 Amazon 리소스 이름(ARN)을 출력합니다.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" }

CA의 구성을 검사하려면 다음 명령을 사용합니다.

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" \ --output json

이 설명에 다음 사항이 포함되어 있어야 합니다.

"RevocationConfiguration": { ... "CrlConfiguration": { "Enabled": true, "ExpirationInDays": 7, "S3BucketName": "DOC-EXAMPLE-BUCKET" }, ... }

예제 4: CRL이 첨부되고 사용자 지정 CNAME이 활성화된 CA 생성

이 예제에서 해지 구성은 사용자 지정 CNAME이 포함된 CRL 파라미터를 정의합니다.

파일: revoke_config.txt

{ "CrlConfiguration":{ "Enabled":true, "ExpirationInDays":7, "CustomCname": "alternative.example.com", "S3BucketName":"DOC-EXAMPLE-BUCKET" } }

명령

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config.txt \ --revocation-configuration file://revoke_config.txt \ --certificate-authority-type "ROOT" \ --idempotency-token 01234567 \ --tags Key=Name,Value=MyPCA-1

이 명령이 제대로 실행되면 CA의 Amazon 리소스 이름(ARN)을 출력합니다.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" }

CA의 구성을 검사하려면 다음 명령을 사용합니다.

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" \ --output json

이 설명에 다음 사항이 포함되어 있어야 합니다.

"RevocationConfiguration": { ... "CrlConfiguration": { "Enabled": true, "ExpirationInDays": 7, "CustomCname": "alternative.example.com", "S3BucketName": "DOC-EXAMPLE-BUCKET", ... } }

예제 5: CA 생성 및 사용 모드 지정

이 예제에서는 CA를 생성할 때 CA 사용 모드를 지정합니다. 지정하지 않을 경우 사용 모드 파라미터의 기본값은 GENERAL_PURPOSE입니다. 이 예제에서는 파라미터가 SHORT_LIVED_CERTICATION으로 설정되어 있습니다. 즉, CA는 최대 유효 기간이 7일인 인증서를 발급합니다. 해지를 구성하는 것이 불편한 상황에서는 손상된 단기 인증서가 정상 작업의 일부로 빠르게 만료됩니다. 따라서 이 예제 CA에는 해지 메커니즘이 없습니다.

참고

AWS Private CA 루트 CA 인증서에 대한 유효성 검사를 수행하지 않습니다.

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config.txt \ --certificate-authority-type "ROOT" \ --usage-mode SHORT_LIVED_CERTIFICATE \ --tags Key=usageMode,Value=SHORT_LIVED_CERTIFICATE

다음 명령에 표시된 대로 의 describe-certificate-authority AWS CLI 명령을 사용하여 결과 CA에 대한 세부 정보를 표시합니다.

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn arn:aws:acm:region:account:certificate-authority/CA_ID
{ "CertificateAuthority":{ "Arn":"arn:aws:acm-pca:region:account:certificate-authority/CA_ID", "CreatedAt":"2022-09-30T09:53:42.769000-07:00", "LastStateChangeAt":"2022-09-30T09:53:43.784000-07:00", "Type":"ROOT", "UsageMode":"SHORT_LIVED_CERTIFICATE", "Serial":"serial_number", "Status":"PENDING_CERTIFICATE", "CertificateAuthorityConfiguration":{ "KeyAlgorithm":"RSA_2048", "SigningAlgorithm":"SHA256WITHRSA", "Subject":{ "Country":"US", "Organization":"Example Corp", "OrganizationalUnit":"Sales", "State":"WA", "Locality":"Seattle", "CommonName":"www.example.com" } }, "RevocationConfiguration":{ "CrlConfiguration":{ "Enabled":false }, "OcspConfiguration":{ "Enabled":false } }, ...

예제 6: Active Directory 로그인을 위한 CA 생성

Microsoft Active Directory(AD)의 Enterprise NTAuth 저장소에서 사용하기에 적합한 프라이빗 CA를 만들 수 있으며, 이 저장소에서 카드 로그온 또는 도메인 컨트롤러 인증서를 발급할 수 있습니다. CA 인증서를 AD로 가져오는 방법에 대한 자세한 내용은 타사 인증 기관(CA) 인증서를 Enterprise NAuth 저장소로 가져오는 방법을 참조하세요.

Microsoft certutil 도구를 사용하면 -dspublish 옵션을 호출하여 AD에 CA 인증서를 게시할 수 있습니다. certutil을 사용하여 AD에 게시된 인증서는 전체 포리스트에서 신뢰됩니다. 그룹 정책을 사용하여 전체 포리스트의 하위 집합(예: 단일 도메인 또는 도메인의 컴퓨터 그룹)으로 신뢰를 제한할 수도 있습니다. 로그온이 제대로 작동하려면 발급 CA도 NTAuth 저장소에 게시해야 합니다. 자세한 내용은 그룹 정책을 사용하여 클라이언트 컴퓨터에 인증서 배포를 참조하세요.

이 예제에서는 다음 ca_config_AD.txt 구성 파일을 사용합니다.

파일: ca_config_AD.txt

{ "KeyAlgorithm":"RSA_2048", "SigningAlgorithm":"SHA256WITHRSA", "Subject":{ "CustomAttributes":[ { "ObjectIdentifier":"2.5.4.3", "Value":"root CA" }, { "ObjectIdentifier":"0.9.2342.19200300.100.1.25", "Value":"example" }, { "ObjectIdentifier":"0.9.2342.19200300.100.1.25", "Value":"com" } ] } }

명령

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config_AD.txt \ --certificate-authority-type "ROOT" \ --tags Key=application,Value=ActiveDirectory

이 명령이 제대로 실행되면 CA의 Amazon 리소스 이름(ARN)을 출력합니다.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" }

CA의 구성을 검사하려면 다음 명령을 사용합니다.

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" \ --output json

이 설명에 다음 사항이 포함되어 있어야 합니다.

... "Subject":{ "CustomAttributes":[ { "ObjectIdentifier":"2.5.4.3", "Value":"root CA" }, { "ObjectIdentifier":"0.9.2342.19200300.100.1.25", "Value":"example" }, { "ObjectIdentifier":"0.9.2342.19200300.100.1.25", "Value":"com" } ] } ...

예 7: CRL이 첨부되고 발급된 인증서에서 CDP 확장을 생략하여 Matter CA 생성

Matter 스마트 홈 표준에 대한 인증서 발급에 적합한 사설 CA를 만들 수 있습니다. 이 예제에서 의 CA 구성은 공급업체 ID (VID) 가 FFF1로 설정된 Matter 제품 인증 기관 (PAA) 을 ca_config_PAA.txt 정의합니다.

파일: ca_config_PAA.txt

{ "KeyAlgorithm":"EC_prime256v1", "SigningAlgorithm":"SHA256WITHECDSA", "Subject":{ "Country":"US", "Organization":"Example Corp", "OrganizationalUnit":"SmartHome", "State":"WA", "Locality":"Seattle", "CommonName":"Example Corp Matter PAA", "CustomAttributes":[ { "ObjectIdentifier":"1.3.6.1.4.1.37244.2.1", "Value":"FFF1" } ] } }

해지 구성은 CRL을 활성화하고 발급된 인증서에서 기본 CDP URL을 생략하도록 CA를 구성합니다.

파일: revoke_config.txt

{ "CrlConfiguration":{ "Enabled":true, "ExpirationInDays":7, "S3BucketName":"DOC-EXAMPLE-BUCKET", "CrlDistributionPointExtensionConfiguration":{ "OmitExtension":true } } }

명령

$ aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://ca_config_PAA.txt \ --revocation-configuration file://revoke_config.txt \ --certificate-authority-type "ROOT" \ --idempotency-token 01234567 \ --tags Key=Name,Value=MyPCA-1

이 명령이 제대로 실행되면 CA의 Amazon 리소스 이름(ARN)을 출력합니다.

{ "CertificateAuthorityArn":"arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" }

CA의 구성을 검사하려면 다음 명령을 사용합니다.

$ aws acm-pca describe-certificate-authority \ --certificate-authority-arn "arn:aws:acm-pca:us-east-1:111122223333:certificate-authority/11223344-1234-1122-2233-112233445566" \ --output json

이 설명에 다음 사항이 포함되어 있어야 합니다.

"RevocationConfiguration": { ... "CrlConfiguration": { "Enabled": true, "ExpirationInDays": 7, "S3BucketName": "DOC-EXAMPLE-BUCKET", "CrlDistributionPointExtensionConfiguration":{ "OmitExtension":true } }, ... } ...