CA 인증서 관리 - AWS IoT Core

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

CA 인증서 관리

이 섹션에서는 자체 인증 기관(CA) 인증서를 관리하기 위한 일반적인 작업에 대해 설명합니다.

인식하지 AWS IoT 못하는 CA에서 서명한 클라이언트 인증서를 사용하는 AWS IoT 경우 CA (인증 기관) 를 등록할 수 있습니다.

클라이언트가 처음 연결할 AWS IoT 때 클라이언트 인증서를 자동으로 등록하도록 하려면 클라이언트 인증서를 서명한 CA를 등록해야 합니다 AWS IoT. 그렇지 않으면 클라이언트 인증서를 서명한 CA 인증서를 등록할 필요가 없습니다.

참고

CA 인증서는 한 리전의 한 계정에서만 DEFAULT 모드로 등록할 수 있습니다. CA 인증서는 한 리전의 여러 계정에서 SNI_ONLY 모드로 등록할 수 있습니다.

CA 인증서 생성

CA 인증서가 없을 경우 OpenSSL v1.1.1i 도구를 사용하여 인증서를 생성할 수 있습니다.

참고

AWS IoT 콘솔에서는 이 절차를 수행할 수 없습니다.

OpenSSL v1.1.1i 도구를 사용하여 CA 인증서를 생성하려면
  1. 키 페어를 생성합니다.

    openssl genrsa -out root_CA_key_filename.key 2048
  2. 키 페어의 프라이빗 키를 사용하여 CA 인증서를 생성합니다.

    openssl req -x509 -new -nodes \ -key root_CA_key_filename.key \ -sha256 -days 1024 \ -out root_CA_cert_filename.pem

CA 인증서 등록

이 절차에서는 Amazon CA가 아닌 인증 기관 (CA) 의 인증서를 등록하는 방법을 설명합니다. AWS IoT Core CA 인증서를 사용하여 인증서 소유권을 확인합니다. Amazon CA가 아닌 CA에서 서명한 장치 인증서를 사용하려면 장치 인증서의 소유권을 확인할 수 AWS IoT Core 있도록 CA 인증서를 등록해야 합니다.

CA 인증서 등록(콘솔)

참고

콘솔에서 CA 인증서를 등록하려면 콘솔에서 CA 인증서 등록(Register CA certificate)을 시작합니다. 확인 인증서를 제공하거나 프라이빗 키에 액세스할 필요 없이 다중 계정 모드에서 CA를 등록할 수 있습니다. 다중 계정 모드에서 같은 AWS 리전의 여러 AWS 계정 으로 CA를 등록할 수 있습니다. CA 프라이빗 키의 확인 인증서와 소유권 증명을 제공하여 단일 계정 모드에서 CA를 등록할 수 있습니다. 다중 계정 모드에서 한 AWS 리전의 한 AWS 계정 으로 CA를 등록할 수 있습니다.

CA 인증서 등록(CLI)

CA 인증서를 DEFAULT 모드 또는 SNI_ONLY 모드로 등록할 수 있습니다. CA를 DEFAULT AWS 계정 모드에서 하나씩 등록할 수 AWS 리전있습니다. CA를 동일한 SNI_ONLY AWS 계정 모드에서 여러 개 등록하여 한 모드에 등록할 수 AWS 리전있습니다. CA 인증서에 대한 자세한 정보는 certificateMode를 참조하세요.

참고

SNI_ONLY 모드에서 CA를 등록하는 것이 좋습니다. 확인 인증서나 개인 키에 대한 액세스 권한을 제공할 필요가 없으며 CA를 한 번에 여러 AWS 계정 개씩 등록할 수 AWS 리전있습니다.

SNI_ONLY 모드에서 CA 인증서 등록(CLI) - 권장됨

사전 조건

계속하기 전에 컴퓨터에서 다음 항목을 사용할 수 있는지 확인합니다.

  • 루트 CA의 인증서 파일(다음 예시에서 root_CA_cert_filename.pem으로 언급됨)

  • OpenSSL v1.1.1i 이상

를 사용하여 SNI_ONLY 모드에서 CA 인증서를 등록하려면 AWS CLI
  1. 에 CA 인증서를 등록합니다 AWS IoT. register-ca-certificate 명령을 사용하여 CA 인증서 파일 이름을 입력합니다. 자세한 내용은 AWS CLI 명령 register-ca-certificate참조를 참조하십시오.

    aws iot register-ca-certificate \ --ca-certificate file://root_CA_cert_filename.pem \ --certificate-mode SNI_ONLY

    성공한 경우 이 명령은 certificateId를 반환합니다.

  2. 현재 CA 인증서는 AWS IoT 등록되었지만 비활성 상태입니다. CA 인증서에서 서명한 클라이언트 인증서를 등록하려면 먼저 CA 인증서가 활성 상태여야 합니다.

    이 단계에서는 CA 인증서를 활성화합니다.

    다음과 같은 update-certificate CLI 명령을 사용하여 CA 인증서를 활성화합니다. 자세한 정보는 AWS CLI 명령 참조update-certificate를 참조하세요.

    aws iot update-ca-certificate \ --certificate-id certificateId \ --new-status ACTIVE

describe-ca-certificate 명령을 사용하여 CA 인증서의 상태를 확인합니다. 자세한 내용은 AWS CLI 명령 describe-ca-certificate참조를 참조하십시오.

DEFAULT 모드에서 CA 인증서 등록(CLI)

사전 조건

계속하기 전에 컴퓨터에서 다음 항목을 사용할 수 있는지 확인합니다.

  • 루트 CA의 인증서 파일(다음 예시에서 root_CA_cert_filename.pem으로 언급됨)

  • 루트 CA 인증서의 프라이빗 키 파일(다음 예시에서 root_CA_key_filename.key로 언급됨)

  • OpenSSL v1.1.1i 이상

를 사용하여 DEFAULT 모드에서 CA 인증서를 등록하려면 AWS CLI
  1. 에서 등록 코드를 AWS IoT가져오려면 를 사용하십시오get-registration-code. 반환된 registrationCode를 저장하여 프라이빗 키 확인 인증서의 Common Name으로 사용합니다. 자세한 내용은 AWS CLI 명령 참조서를 참조하십시오 get-registration-code.

    aws iot get-registration-code
  2. 프라이빗 키 확인 인증서의 키 페어를 생성합니다.

    openssl genrsa -out verification_cert_key_filename.key 2048
  3. 프라이빗 키 확인 인증서에 대한 인증서 서명 요청(CSR)을 생성합니다. 인증서의 Common Name 필드를 get-registration-code에서 반환한 registrationCode로 설정합니다.

    openssl req -new \ -key verification_cert_key_filename.key \ -out verification_cert_csr_filename.csr

    인증서의 Common Name을 비롯해 일부 정보를 입력하라는 메시지가 표시됩니다.

    You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) []: Locality Name (for example, city) []: Organization Name (for example, company) []: Organizational Unit Name (for example, section) []: Common Name (e.g. server FQDN or YOUR name) []:your_registration_code Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:
  4. CSR을 사용하여 프라이빗 키 확인 인증서를 생성합니다.

    openssl x509 -req \ -in verification_cert_csr_filename.csr \ -CA root_CA_cert_filename.pem \ -CAkey root_CA_key_filename.key \ -CAcreateserial \ -out verification_cert_filename.pem \ -days 500 -sha256
  5. 에 CA 인증서를 등록하십시오 AWS IoT. 다음과 같이 CA 인증서 파일 이름과 프라이빗 키 확인 인증서 파일 이름을 register-ca-certificate 명령에 전달합니다. 자세한 내용은 AWS CLI 명령 register-ca-certificate참조를 참조하십시오.

    aws iot register-ca-certificate \ --ca-certificate file://root_CA_cert_filename.pem \ --verification-cert file://verification_cert_filename.pem

    성공한 경우 이 명령은 인증서 ID를 반환합니다.

  6. 현재 CA 인증서는 AWS IoT 등록되었지만 활성화되지는 않았습니다. 서명한 클라이언트 인증서를 등록하려면 CA 인증서가 활성 상태여야 합니다.

    이 단계에서는 CA 인증서를 활성화합니다.

    다음과 같은 update-certificate CLI 명령을 사용하여 CA 인증서를 활성화합니다. 자세한 정보는 AWS CLI 명령 참조update-certificate를 참조하세요.

    aws iot update-ca-certificate \ --certificate-id certificateId \ --new-status ACTIVE

describe-ca-certificate 명령을 사용하여 CA 인증서의 상태를 확인합니다. 자세한 내용은 AWS CLI 명령 describe-ca-certificate참조를 참조하십시오.

CA 검증 인증서를 생성하여 콘솔에서 CA 인증서를 등록합니다.

참고

이 절차는 AWS IoT 콘솔에서 CA 인증서를 등록하는 경우에만 사용할 수 있습니다.

콘솔에서 이 절차를 수행하지 않은 경우 AWS IoT 콘솔의 CA 인증서 등록에서 CA 인증서 등록 프로세스를 시작하십시오.

계속하기 전에 동일한 컴퓨터에서 다음 항목을 사용할 수 있는지 확인합니다.

  • 루트 CA의 인증서 파일(다음 예시에서 root_CA_cert_filename.pem으로 언급됨)

  • 루트 CA 인증서의 프라이빗 키 파일(다음 예시에서 root_CA_key_filename.key로 언급됨)

  • OpenSSL v1.1.1i 이상

명령줄 인터페이스를 사용하여 CA 확인 인증서를 생성하여 콘솔에서 CA 인증서를 등록하는 방법
  1. 생성하려는 확인 인증서 키 파일의 이름으로 verification_cert_key_filename.key를 바꿉니다(예: verification_cert.key). 그런 다음, 이 명령을 실행하여 프라이빗 키 확인 인증서의 키 페어를 생성합니다.

    openssl genrsa -out verification_cert_key_filename.key 2048
  2. verification_cert_key_filename.key를 1단계에서 생성한 키 파일의 이름으로 바꿉니다.

    verification_cert_csr_filename.csr을 생성하려는 인증서 서명 요청(CSR) 파일의 이름으로 바꿉니다. 예: verification_cert.csr.

    이 명령을 실행하여 CSR 파일을 생성합니다.

    openssl req -new \ -key verification_cert_key_filename.key \ -out verification_cert_csr_filename.csr

    이 명령은 나중에 설명할 추가 정보를 묻는 메시지를 표시합니다.

  3. AWS IoT 콘솔의 확인 인증서 컨테이너에서 등록 코드를 복사합니다.

  4. openssl 명령에서 묻는 정보가 다음 예제에 나와 있습니다. Common Name 필드를 제외하고는 원하는 값을 입력하거나 비워 둘 수 있습니다.

    Common Name 필드에 이전 단계에서 복사한 등록 코드를 붙여 넣습니다.

    You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) []: Locality Name (for example, city) []: Organization Name (for example, company) []: Organizational Unit Name (for example, section) []: Common Name (e.g. server FQDN or YOUR name) []:your_registration_code Email Address []: Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []:

    작업을 마치면 명령이 CSR 파일을 생성합니다.

  5. verification_cert_csr_filename.csr을 이전 단계에서 사용한 verification_cert_csr_filename.csr로 바꿉니다.

    root_CA_cert_filename.pem을 등록하려는 CA 인증서의 파일 이름으로 바꿉니다.

    root_CA_key_filename.key를 CA 인증서 프라이빗 키 파일의 파일 이름으로 바꿉니다.

    verification_cert_filename.pem을 생성하려는 확인 인증서의 파일 이름으로 바꿉니다. 예를 들어 verification_cert.pem입니다.

    openssl x509 -req \ -in verification_cert_csr_filename.csr \ -CA root_CA_cert_filename.pem \ -CAkey root_CA_key_filename.key \ -CAcreateserial \ -out verification_cert_filename.pem \ -days 500 -sha256
  6. OpenSSL 명령이 완료되면 콘솔로 돌아갈 때 이러한 파일을 사용할 준비가 되어 있을 것입니다.

    • CA 인증서 파일(이전 명령에서 사용된 root_CA_cert_filename.pem)

    • 이전 단계에서 생성한 확인 인증서(이전 명령에서 사용된 verification_cert_filename.pem)

CA 인증서 비활성화

CA (인증 기관) 인증서에 클라이언트 인증서 자동 등록이 활성화된 경우 CA 인증서를 검사하여 CA가 등록되어 있는지 AWS IoT 확인합니다ACTIVE. CA 인증서가 INACTIVE 인 경우 클라이언트 인증서를 등록할 수 AWS IoT 없습니다.

CA 인증서를 INACTIVE로 설정하면 CA에서 발급한 새 클라이언트 인증서가 자동으로 등록되지 않습니다.

참고

훼손된 CA 인증서에서 서명한 모든 등록된 클라이언트 인증서는 사용자가 하나씩 명시적으로 취소할 때까지 계속 작동합니다.

CA 인증서 비활성화(콘솔)

AWS IoT 콘솔을 사용하여 CA 인증서를 비활성화하려면
  1. 에 AWS Management Console 로그인하고 AWS IoT 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 보안을 선택한 후 CA를 선택합니다.

  3. 인증 기관 목록에서 비활성화할 인증 기관을 찾은 다음 줄임표 아이콘을 사용하여 옵션 메뉴를 엽니다.

  4. 옵션 메뉴에서 비활성화를 선택합니다.

인증 기관은 목록에 비활성으로 표시되어야 합니다.

참고

AWS IoT 콘솔에서는 비활성화한 CA에서 서명한 인증서를 나열하는 방법을 제공하지 않습니다. 이러한 인증서를 나열하는 AWS CLI 옵션은 CA 인증서 비활성화(CLI) 단원을 참조하세요.

CA 인증서 비활성화(CLI)

는 CA 인증서를 비활성화하는 update-ca-certificate명령을 AWS CLI 제공합니다.

aws iot update-ca-certificate \ --certificate-id certificateId \ --new-status INACTIVE

list-certificates-by-ca 명령을 사용하여 지정된 CA에서 서명한 모든 등록된 디바이스 인증서의 목록을 가져옵니다. 지정된 CA 인증서에서 서명한 각 디바이스 인증서에 대해 클라이언트 인증서가 사용되지 않도록 update-certificate 명령을 사용하여 클라이언트 인증서를 취소합니다.

describe-ca-certificate 명령을 사용하여 CA 인증서의 상태를 확인합니다.