1

質問

訪問者が SSL 接続/証明書を信頼しているかどうかを検出する方法はありますか? ウェブやスタックオーバーフローでは何も見つかりませんでした。かなり珍しい質問だと思います。

ユースケース

StartSSL の証明書を使用しています。ほとんどの一般的な最新のブラウザーで問題なく動作します。しかし、IE を使用している Windows Phone では、警告が表示されます。これは、既定ではルート証明書が Windows Phone の IE に認識されないためです。

解決策は簡単です。証明書をダウンロードするだけです - 2 回のクリック/タップです。これを行う方法について、一般的な訪問者に小さなガイドを提供したいと思います。ただし、問題のある訪問者のみがメッセージを受け取る必要があります。

4

2 に答える 2

1

HTTPS経由でサイトに接続する訪問者は、証明書を信頼しないとサイトにアクセスできません。例外が追加されると、それが一般的に信頼されているか例外であるかを判断する方法はありません。

おそらく、この場合に追加のメッセージを表示できるように、ユーザーエージェントのリストを作成し、それらのデフォルトのCAがどうあるべきかを推測することを試みることができます。これは完全なルールではなく(クライアントが信頼するものを完全に制御することはできないため、ユーザー/管理者の責任です)、ユーザーエージェント固有のコンテンツの欠点があります。特に、必ずしも信頼できるとは限りません。完全なデータベースはありません。例外を追加したり、証明書を永続的にインポートしたりしたユーザーには、この追加のメッセージが表示されます(覚えておくためにCookieなどを使用する場合を除く)。

最初のページがプレーンHTTPを介している場合は、HTTPSサイトへのXHRリクエストを試して、それがまったく機能したかどうかを報告できる可能性があります。(同一生成元ポリシーを考慮する必要がある場合があります。)

于 2012-09-21T18:40:39.190 に答える
-1

この状態を自動検出する確実な方法があるかどうかはわかりません。回避策に頼らなければならない場合があります。

ヘッダーのuser-agentを調べて、リクエストが電話からのものかどうかを検出し、サイトに初めてアクセスするかどうかを確認し(サイトのCookieがないなど)、初めてユーザーである場合は、応答を(HTTP )証明書のインストール手順が記載されたページ。そのページにチェックボックスを提供して、ユーザーが将来的にそのリダイレクト動作を抑制できるようにすることができます。抑制したい場合は、Cookieを設定するか、サーバーに設定を保存します(認証がある場合)。

于 2012-09-21T18:39:43.993 に答える