サーバーが到達可能であるかどうかを確認し、正しいSSL証明書を提示します
メール、カレンダー、連絡先などの標準のAndroidアプリケーションは、SSL保護されたサーバーと同期することができますが、証明書を確認するオプションはありません。基本的に、証明書が標準のいずれかによって(ユーザーエドではなくAndroid 4.0の前)CASによって発行されているかどうかを確認するか、まったく確認できます。これは、サーバーのIDを確実に主張するのに十分ではありません。これは、間違ったサーバーに機密情報(アカウントパスワード)を提供するリスクを提示します。この問題は、サーバーがセミパーマメント接続上にあり、動的DNSを介して見つかって、セルフ署名またはプライベートCA証明書を使用している場合、または公開されたWiFiホットスポットを使用する場合(これはかなり些細なことであり、したがって通常のMITM攻撃ベクターです)場合に特に重要です。
このアプリは、指定されたHTTPS URLに到達可能であり、サーバーが適切な証明書で識別できる場合、構成可能な間隔をチェックします。これは、色付きの「信号灯」でステータスを表示するホーム画面ウィジェットで構成されています。
*緑、接続が問題ない場合
*黄色、小切手が進行中です
*赤、サーバーが到達できない場合
*サーバーがエラーを発したり、証明書のチェックに失敗したりした場合、ダブルレッド
*小さな白、チェックは必要ありません
チェックすると、エラーが発生したときに、グローバル同期設定がオフになります。このようにして、同期が確認されていないサーバーに接続しようとしないことを合理的に安全にする必要があります。
これはオープンソース(GPL)アプリです。ソースとさらなるドキュメントは、私のWebサイトから入手できます。
必要な権限:
インターネット - サーバーに接続する(他の場所)
Access_network_state-接続(wlan、モバイル...)を決定して、チェックが必要かどうかを確認します
read_sync_settings、write_sync_settings-チェックまたはエラーで同期をオフにする
receive_boot_completed-自動開始(可能であれば、Androidバージョンに応じて)
read_external_storage-メモリまたはSDカードから証明書を読み取ります
続きを読む