認証局を更新する

2018年3月14日に、登録されたAlexa開発者の皆様宛てに、すべてのAlexa Voice Service(AVS)クライアントについて認証局を更新する必要がある旨、Eメールをお送りしました。このガイドでは、この要件を満たすための追加の手順について説明します。

経緯

AVSは、すべてのAVSエンドポイントの証明書をAmazon Trust Services(ATS)証明書に移行しています。このため、AVSを使用するすべてのAlexa搭載デバイスおよびアプリは、すべてのAVSエンドポイントにおいて、2018年6月15日までにATSが発行する証明書のサポートを開始する必要があります。2018年6月16日以降、ATS証明書をサポートしていないデバイスやアプリは、AVSへの接続ができなくなります。

推奨事項

デバイスやアプリが、ATS証明書を使用して正常にAVSエンドポイントに接続できることをテストで確認されることをお勧めします。

接続のテスト方法

Amazonのテストエンドポイント(https://avs-ats-cert-test.amazon.com)を使用して、信頼ストアに正しいATS証明書(CA)が含まれていることを確認されることをお勧めします

  1. このテストエンドポイントは、ATSが発行する証明書のみを使って設定され、デバイスやアプリがセキュアな接続を確立できるこを検証するために使用することができます。
  2. このテストエンドポイントは、HTTP/2およびHTTP/1.xの接続の検証にも使用できます。
    • HTTP/2接続を確立すると、クライアントは「ATS証明書を使用して接続が確立されました」というメッセージを受信する場合があります。一方、HTTP/1.x接続の場合は、セキュアな接続が確立された場合でも想定外のHTTP/1.xメッセージを受信する場合がありますが、これは想定内の動作です。
    • このエンドポイントは、証明書の検証プロセス用にのみ提供されており、完全なAVSエンドポイントではありません。そのため、すべてのAVS APIをサポートしているわけではありません。
  3. トラストストアから既存の認証局を削除しないことをお勧めします。

ATS認証局

トラストストアに、以下のAmazon Root CAとStarfield CAがあることを確認します。

  • ATS証明書は、4つのAmazon Root CAのいずれかとチェーンが確立されているCAによって発行されます。
    • "Amazon Root CA 1"
    • "Amazon Root CA 2"
    • "Amazon Root CA 3"
    • "Amazon Root CA 4"
  • これらのルートは、以下の2つの別ルートによってクロス署名されます。
    • "Starfield Services Root Certificate Authority - G2"
    • "Starfield Class 2 Certification Authority"

ATS CAがトラストストアにあるかどうかを判断する方法については、こちらをクリックしてください。

Raspbian Linuxでのテスト

Amazon Trust Services(ATS)認証局(CA)のファイルは、https://www.amazontrust.com/repository/にあります。

以下は、Raspbian Linuxで認証局を更新する方法の例です。

  1. Raspbianでは、以下のディレクトリでSSL証明書が保持されます。
    /usr/share/ca-certificates
    
  2. 以下のファイルにATS CAがあることを確認します。
    /etc/ca-certificates.conf
    
  3. 足りない場合、配布するデバイスやアプリにATS CAを追加します。以下の例は、Amazon ROOT CA 1を追加する方法を表しています。足りないCAすべてについて、この手順を繰り返してください。
    cd /usr/share/ca-certificates
    
    wget https://www.amazontrust.com/repository/AmazonRootCA1.pem -O /usr/share/ca-certificates/AmazonRootCA1.pem
    
    echo "AmazonRootCA1.pem" >> /etc/ca-certificates.conf
    
    update-ca-certificates
    
  4. システムレベルのSSLライブラリ(AVSデバイスSDKで使用されるデフォルトのライブラリ)が正常に接続できることを確認します。
    openssl s_client -tls1_2 -connect avs-ats-cert-test.amazon.com:443 -verify 10
    
  5. AVSデバイスSDKの接続をテストするには、「AlexaClientSDKConfig.json」を編集して"sampleApp"設定に以下を追加します。サンプルアプリを実行し、デバッグモードでコンソールログエントリを確認して、SSL例外が発生しないことを確認します。
    "endpoint" https://avs-ats-cert-test.amazon.com
    

ヘルプが必要な場合