追加の証明書のダウンロードが必要な場合、ADAL を使用して Android デバイスからの認証が失敗する
この記事では、追加の証明書のダウンロードが必要な場合に、Android デバイスからの Azure Active Directory 認証ライブラリ (ADAL) 認証が失敗する問題について説明します。
元の製品バージョン: Microsoft Entra ID
元の KB 番号: 3203929
現象
ADAL for Android を使用して認証しようとすると、フェデレーション サインインが失敗する可能性があります。 具体的には、ログイン ページを表示しようとすると、アプリケーションによって AuthenticationException エラーがトリガーされます。 Google Chrome では、STS ログイン ページが安全でないと呼ばれる場合があります。 この問題は、Android 用 ADAL を使用してフェデレーション サーバーに接続するすべてのアプリケーションで、Android デバイスでのみ発生します。
この問題が発生しているかどうかを判断するには、次のテストを実行します。
セキュリティ トークン サービス (STS) サーバーの完全修飾ドメイン名 (FQDN) を取得します。 これを行うには、次の手順を実行します。
- Android 以外のデバイスで に https://login.microsoftonline.com 移動します。
- 職場または学校のアカウントを入力します。
- フェデレーション STS ログイン ページにリダイレクトされたら、ブラウザーの URL アドレスをメモします。 のようになります
https://sts.contoso.com
。 FQDN は ですsts.contoso.com
。
次の URL に移動し、STS_SERVER_FQDN_HERE>を STS FQDN に置き換えます<。
https://www.ssllabs.com/ssltest/analyze.html?d=<STS_SERVER_FQDN_HERE>&hideResults=on&latest
以下に例を示します。
https://www.ssllabs.com/ssltest/analyze.html?d=sts.contoso.com&hideResults=on&latest
次のいずれかのメッセージが表示されるかどうかを確認します。
- 追加ダウンロード
- サーバーによって送信される
- 信頼ストア内
SSL 証明書のいずれかが "追加ダウンロード" メッセージを表示する場合は、次のスクリーンショットに従って、このセクションで前述した問題が発生しています。
Android デバイスで認証が成功したことを示す "サーバーによって送信" というメッセージが表示された証明書を示すスクリーンショットを次に示します。
原因
Android では、証明書の authorityInformationAccess フィールドからの追加の証明書のダウンロードはサポートされていません。 これは、すべての Android バージョンとデバイス、および Chrome ブラウザーに当てはまります。 authorityInformationAccess フィールドに基づいて追加ダウンロード用としてマークされているサーバー認証証明書は、証明書チェーン全体が Active Directory フェデレーション サービス (AD FS) (AD FS) から渡されない場合、このエラーをトリガーします。
解決方法
この問題を解決するには、STS および Web アプリケーション プロキシ (WAP) サーバーを構成して、必要な中間証明書を SSL 証明書と共に送信します。 これを行うには、次の手順を実行します。
- コンピューターから AD FS および WAP サーバー (またはサーバー) のコンピューターの個人用ストアに SSL 証明書をエクスポートする場合は、秘密キーをエクスポートし、[ Personal Information Exchange - PKCS] #12 を選択していることを確認します。 また、[可能な場合は証明書パスにすべての証明書を含める] ボックスと [すべての拡張プロパティをエクスポートする] チェックボックスが選択されていることを確認します。
- Windows サーバーでを実行
certlm.msc
し、 *をインポートします。PFX ファイルをコンピューターの個人用証明書ストアに格納します。 これを行うと、クライアント アプリケーションが認証に ADAL を使用すると、サーバーは証明書チェーン全体を渡します。
注:
ネットワーク ロード バランサーの証明書ストアも、証明書チェーン全体を含むように更新する必要があります。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。