SSL 인증서를 AWS Identity and Access Management(IAM)에 업로드하고 가져오려고 합니다.
간략한 설명
SSL 인증서는 AWS Certificate Manager(ACM)에 업로드하는 것이 좋습니다. 현재 ACM 또는 관련 AWS 리소스에서 지원하지 않는 인증서 알고리즘 및 키 크기를 사용하는 경우 AWS Command Line Interface(AWS CLI)를 사용하여 IAM에 SSL 인증서를 업로드할 수도 있습니다.
SSL 인증서를 IAM으로 가져오기 전에:
- 인증서는 업로드 시 유효해야 합니다. 유효 기간이 시작되기 전이나 만료된 후에는 인증서를 업로드할 수 없습니다.
- 인증서, 개인 키 및 인증서 체인은 PEM으로 인코딩되어야 합니다. 자세한 내용은 서버 인증서 사용에서 PEM으로 인코딩된 인증서 체인의 예 섹션을 참조하십시오.
인증서가 기준을 충족하는지, 인증서 체인의 순서가 올바른지 확인한 다음 인증서를 업로드하십시오.
해결 방법
인증서 체인이 올바른 순서인지 확인
참고: AWS CLI 명령을 실행할 때 오류가 발생하면 최신 AWS CLI 버전을 사용하고 있는지 확인하십시오.
인증서 체인은 CA(인증 기관)에서 생성한 인증서로 시작하고 CA의 루트 인증서로 끝나야 합니다.
참고: 인증서 체인의 순서가 올바르지 않을 경우 다음과 같은 오류 메시지가 나타날 수 있습니다. "An error occurred (MalformedCertificate) when calling the UploadServerCertificate operation: Unable to validate certificate chain. The certificate chain must start with the immediate signing certificate, followed by any intermediaries in order. 유효하지 않은 인증서 체인 내의 인덱스는 다음과 같습니다. -1"
PEM으로 인코딩된 인증서 체인은 다음과 같이 "-----BEGIN CERTIFICATE-----"로 시작하고 "-----END CERTIFICATE-----"로 끝나야 합니다.
-----BEGIN CERTIFICATE-----
Base64-encoded Intermediate certificate 2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded Intermediate certificate 1
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Optional: Base64-encoded Root certificate
-----END CERTIFICATE-----
참고: 인증서에 선행 또는 후행 공백이 없어야 하며 BEGIN 및 END 블록 외에 접두사나 접미사가 없어야 합니다.
PEM 인코딩 키가 다음 형식을 사용하지 않으면 "MalformedCertificate: Unable to parse private key" 오류 메시지가 표시됩니다.
-----BEGIN RSA PRIVATE KEY-----
Base64-encoded private key
-----END RSA PRIVATE KEY-----
인증서 업로드
다음과 비슷한 AWS CLI 명령 upload-server-certificate를 실행하여 인증서를 업로드합니다.
$ aws iam upload-server-certificate --server-certificate-name YourCertificate --certificate-body file://Certificate.pem --certificate-chain file://CertificateChain.pem --private-key file://PrivateKey.pem
참고:
- 파일 이름과 YourCertificate를 업로드한 파일 및 인증서의 이름으로 바꾸십시오.
- API 요청의 certificate-body, certificate-chain 및 private-key 파라미터에 "file://" 접두사를 지정해야 합니다. 그렇지 않으면 요청이 실패하고 "MalformedCertificate: Unknown" 오류 메시지가 표시됩니다.
인증서가 업로드된 후, AWS 명령 upload-server-certificate는 인증서의 Amazon 리소스 이름(ARN), 친숙한 이름, 식별자(ID), 만료 날짜를 포함하여 업로드된 인증서에 대한 메타데이터를 반환합니다.
업로드된 인증서를 보려면 AWS CLI 명령 list-server-certificates를 실행합니다.
aws iam list-server-certificates
참고: Amazon CloudFront에서 사용할 서버 인증서를 업로드하는 경우 --path를 사용하여 경로를 지정해야 합니다. 경로는 /cloudfront로 시작해야 하며 **/cloudfront/test/**와 같이 경로의 끝에 슬래시가 있어야 합니다. 자세한 내용은 CloudFront 배포에 사용자 지정 SSL 인증서를 사용할 때 발생하는 문제를 해결하려면 어떻게 해야 합니까?를 참조하십시오.
인증서를 삭제하려면 다음과 비슷한 AWS CLI 명령 delete-server-certificate를 실행합니다.
$ aws iam delete-server-certificate --server-certificate-name YourCertificate
관련 정보
ACM에 통합된 서비스
가져오기를 위한 인증서 및 키 형식