サーバーにアクセス可能かどうかを確認し、正しい SSL 証明書を提示します。
メール、カレンダー、連絡先などの標準 Android アプリケーションは、SSL で保護されたサーバーと同期できますが、証明書を確認するオプションはありません。基本的に、証明書が標準 (Android 4.0 以前、ユーザー編集不可) CA のいずれかによって発行されたものであるかどうかを確認することも、まったく確認しないことも可能です。これではサーバーの ID を確実に主張するには十分ではなく、機密情報 (アカウントのパスワード) を間違ったサーバーに渡してしまう危険性があります。この問題は、サーバーが半永久的な接続上にあり、ダイナミック DNS 経由で検出される場合、自己署名証明書またはプライベート CA 証明書を使用する場合、またはパブリック WiFi ホットスポット (偽造するのはかなり簡単であるため、通常の MitM である) を使用する場合に特に重要です。 -攻撃ベクトル)。
このアプリは、指定された HTTPS URL が到達可能かどうか、サーバーが適切な証明書で自身を識別しているかどうかを、構成可能な間隔でチェックします。これは、色付きの「信号灯」でステータスを表示するホーム画面ウィジェットで構成されます。
* 緑色、接続に問題がない場合
* 黄色、チェック中
* 赤、サーバーにアクセスできない場合
* 二重赤色、サーバーでエラーが発生した場合、または証明書のチェックに失敗した場合
※小さい白、チェック不要の場合
チェック時およびエラー発生時は、グローバル同期設定がオフになります。こうすることで、確認したサーバーと同じサーバーであれば、同期によって ID が検証されていないサーバーに接続しようとすることがなくなり、かなり安全になります。
これはオープンソース (GPL) アプリです。ソースとさらなるドキュメントは私の Web サイトから入手できます。
必要な権限:
インターネット - サーバーに接続します (他の場所ではありません)
ACCESS_NETWORK_STATE - 接続 (WLAN、モバイルなど) を確認して、チェックが必要かどうかを確認します。
READ_SYNC_SETTINGS、WRITE_SYNC_SETTINGS - チェック時またはエラー時に同期をオフにします
RECEIVE_BOOT_COMPLETED - 自動起動 (可能な場合、Android のバージョンに応じて)
READ_EXTERNAL_STORAGE - メモリまたは SD カードから証明書を読み取ります
続きを読む