

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

# Texas Instruments CC3220SF-LAUNCHXL을 위한 코드 서명 인증서 생성
<a name="ota-code-sign-cert-ti"></a>

**중요**  <a name="deprecation-message"></a>
이 라이브러리는 더 이상 사용되지 않는 Amazon-FreeRTOS 리포지토리에서 호스팅됩니다. 새 프로젝트를 생성할 때는 [여기서 시작](freertos-getting-started-modular.md)하는 것이 좋습니다. 현재 사용되지 않는 Amazon-FreeRTOS 리포지토리를 기반으로 하는 기존 FreeRTOS 프로젝트가 이미 있는 경우에는 [Amazon-FreeRTOS Github 리포지토리 마이그레이션 가이드](github-repo-migration.md) 섹션을 참조하세요.

SimpleLink Wi-Fi CC3220SF Wireless Microcontroller Launchpad Development Kit는 펌웨어 코드 서명을 위한 두 가지 인증서 체인을 지원합니다.
+ 프로덕션(인증서 카탈로그)

  프로덕션 인증서 체인을 사용하려면 상용 코드 서명 인증서를 구매하고 [TI Uniflash 도구](http://www.ti.com/tool/UNIFLASH)를 사용하여 보드를 프로덕션 모드로 설정해야 합니다.
+ 테스트 및 개발(인증서 실습) 

  플레이그라운드 인증서 체인을 사용하면 자체 서명된 코드 서명 인증서를 사용하여 OTA 업데이트를 시험해 볼 수 있습니다.

 AWS Command Line Interface 를 사용하여 코드 서명 인증서, 프라이빗 키 및 인증서 체인을 로 가져옵니다 AWS Certificate Manager. 자세한 내용은 *AWS Command Line Interface 사용 설명서*에서 [AWS CLI설치](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)를 참조하세요.

최신 버전의 [SimpleLink CC3220 SDK](http://www.ti.com/tool/download/SIMPLELINK-CC3220-SDK)를 다운로드하여 설치합니다. 기본적으로 필요한 파일은 다음 위치에 있습니다.

`C:\ti\simplelink_cc32xx_sdk_version\tools\cc32xx_tools\certificate-playground`(Windows) 

`/Applications/Ti/simplelink_cc32xx_version/tools/cc32xx_tools/certificate-playground`(macOS)

SimpleLink CC3220 SDK의 인증서는 DER 형식입니다. 자체 서명된 코드 서명 인증서를 생성하려면 이를 PEM 형식으로 변환해야 합니다.

다음 단계에 따라 Texas Instruments 플레이그라운드 인증서 계층 구조에 연결되고 AWS Certificate Manager 및 Code Signing for AWS IoT criteria를 충족하는 코드 서명 인증서를 생성합니다.

**참고**  
코드 서명 인증서를 생성하려면 컴퓨터에 [OpenSSL](https://www.openssl.org/)을 설치합니다. OpenSSL을 설치한 후 명령 프롬프트나 터미널 환경에서 `openssl`이 OpenSSL 실행 파일에 할당되었는지 확인합니다.

**자체 서명된 코드 서명 인증서를 생성하려면**

1. 명령 프롬프트 창이나 터미널을 관리자 권한으로 엽니다.

1. 작업 디렉터리에서 다음 텍스트를 사용하여 `cert_config.txt` 파일을 생성합니다. *test\$1signer@amazon.com*을 사용자의 이메일 주소로 바꿉니다.

   ```
   [ req ]
   prompt             = no
   distinguished_name = my dn
   
   [ my dn ]
   commonName = test_signer@amazon.com
   
   [ my_exts ]
   keyUsage         = digitalSignature
   extendedKeyUsage = codeSigning
   ```

1. 프라이빗 키 및 인증서 서명 요청(CSR)을 생성합니다.

   ```
   openssl req -config cert_config.txt -extensions my_exts -nodes -days 365 -newkey rsa:2048 -keyout tisigner.key -out tisigner.csr
   ```

1. Texas Instruments 실습 루트 CA 프라이빗 키를 DER 형식에서 PEM 형식으로 변환합니다.

   TI 실습 루트 CA 프라이빗 키는 다음 위치에 있습니다.

   `C:\ti\simplelink_cc32xx_sdk_version\tools\cc32xx_tools\certificate-playground\dummy-root-ca-cert-key`(Windows) 

   `/Applications/Ti/simplelink_cc32xx_sdk_version/tools/cc32xx_tools/certificate-playground/dummy-root-ca-cert-key`(macOS)

   ```
   openssl rsa -inform DER -in dummy-root-ca-cert-key -out dummy-root-ca-cert-key.pem
   ```

1. Texas Instruments 실습 루트 CA 인증서를 DER 형식에서 PEM 형식으로 변환합니다.

   TI 실습 루트 인증서는 다음 위치에 있습니다.

   `C:\ti\simplelink_cc32xx_sdk_version\tools\cc32xx_tools\certificate-playground/dummy-root-ca-cert`(Windows) 

   `/Applications/Ti/simplelink_cc32xx_sdk_version/tools/cc32xx_tools/certificate-playground/dummy-root-ca-cert`(macOS)

   ```
   openssl x509 -inform DER -in dummy-root-ca-cert -out dummy-root-ca-cert.pem
   ```

1. Texas Instruments 루트 CA로 CSR에 서명합니다.

   ```
   openssl x509 -extfile cert_config.txt -extensions my_exts  -req -days 365 -in tisigner.csr -CA dummy-root-ca-cert.pem -CAkey dummy-root-ca-cert-key.pem -set_serial 01 -out tisigner.crt.pem -sha1
   ```

1. 코드 서명 인증서(`tisigner.crt.pem`)를 DER 형식으로 변환합니다.

   ```
   openssl x509 -in tisigner.crt.pem -out tisigner.crt.der -outform DER
   ```
**참고**  
나중에 TI 개발 보드에 `tisigner.crt.der` 인증서를 작성합니다.

1. 코드 서명 인증서, 프라이빗 키 및 인증서 체인을 AWS Certificate Manager다음으로 가져옵니다.

   ```
   aws acm import-certificate --certificate fileb://tisigner.crt.pem --private-key fileb://tisigner.key --certificate-chain fileb://dummy-root-ca-cert.pem
   ```

   이 명령은 인증서에 대한 ARN을 표시합니다. OTA 업데이트 작업을 생성할 때 이 ARN이 필요합니다.
**참고**  
이 단계는 용 코드 서명을 사용하여 펌웨어 이미지에 서명한다는 가정하 AWS IoT 에 작성되었습니다. 용 코드 서명을 사용하는 AWS IoT 것이 좋지만 펌웨어 이미지에 수동으로 서명할 수 있습니다.