FairEmail (Android) で S/MIME を使う方法

FairEmail は Marcel Bokhorst 氏が開発するオープンソースの Android メールクライアントです。FairEmail はセキュリティやプライバシーを重視し、それ以外にもたくさんの機能があります。S/MIME でデジタル署名・暗号化したメッセージを送受信でき、Gmail や Outlook の OAuth にも対応しています。ここでは、FairEmail でのメールアカウントのセットアップと S/MIME の使用方法について紹介します。

公式サイト

https://email.faircode.eu/

GitHub リポジトリー

https://github.com/M66B/FairEmail

前提

IMAP または POP3 とSMTP でサーバーに接続できるメールアカウントを取得済みであること。

アプリのインストール

お好みのストアからダウンロード・インストールしてください。F-Droid と Github は、アプリのサイドロードの方法をご存知のかたのみ使用できます。Google Play ストアと F-Droid 版では、各ストアの制約により一部機能が使えないことがあります。

Google Play ストア

https://play.google.com/store/apps/details?id=eu.faircode.email

F-Droid

https://f-droid.org/en/packages/eu.faircode.email/

GitHub(.apk ファイル) ※ 下の FFUpdater 経由のインストールを推奨

https://github.com/M66B/open-source-email/releases/

※ このドキュメント作者の個人的見解として、アプリのサイドロードを問題なく使用できる方には GitHub 版をおすすめします。Google Play ストアでは FairEmail がシステムの誤検知により提供中止されたことがあり(現在は解消)、安定して入手できなくなる可能性があります。サイドロードはすべての方に推奨できるものではありませんが、Windows などのパソコン用 OS 環境ではほとんどのアプリをストア外からインストールしていることを考えれば、知識のある方にとってサイドロードはそれほど危険ではないはずです。GitHub 版を選択する場合、Android 12 以上であれば、F-droid、GitHub で配布されている FFUpdater というオーブンソースのアプリを使用すると自動更新できるため、こちらからのインストールがおすすめです。

FFUpdater

https://github.com/Tobi823/ffupdater

セットアップ

アプリを開くとライセンスへの同意を求められます。アプリを使用するには同意が必須のため、十分に読んでから納得できれば「同意する」を押してください。

送受信設定

同意すると設定画面に遷移するので、ウィザードから使用したいアカウントを追加しましょう。Gmail や Office、Outlook などを使用している方は、(OAuth) がついた専用ウィザードを選択してください。

※「Gmail (Android)」は端末上でログインしているアカウントのみ使用できます。FairEmail にのみログインしたい場合は「Gmail (OAuth)」を選択してください。
※「Yahoo/AT&T」の Yahoo はアメリカのメールサービスで日本の Yahoo メールを示すものではありません。

専用ウィザードに自分のメールプロバイダーがない場合は「その他のプロバイダー (IMAP)」を選択してください。POP3 も使用できますが推奨しません。

 

ここでは、汎用性の高い IMAP での設定を紹介します。

「その他のプロバイダー (IMAP)」を選択した後、宛先での表示名、メールアドレス、パスワードを入力してください。「確認」を押すと、SRV レコードや Thunderbird の自動設定サーバーなどに問い合わせ、自動設定を試みます。

設定が検出されると、右のような画面になるので「保存」を押してください。

  

これで通常のメールは送受信できます。また、S/MIME デジタル署名付きメールの受信・検証はこの時点で可能です。戻るボタンを何回か押すと、メール一覧画面に移動します。

ここからは、検出できなかった場合の設定方法を紹介します。設定が完了した方は、次までスキップしてください。

検出できなかった場合は「手動セットアップ」が表示されるので、「クラシカルな設定方法」から「アカウント」を選択してください。

※ FairEmail では、IMAP/POP3 のプロファイルを「アカウント」、SMTP のプロファイルを「ユーザー ID」と呼称して区別します。

右下の「+」アイコンを押して、IMAP または POP3 を選択すると設定画面が開きます。

  

「プロバイダー」で「カスタム」を選択して、プロバイターのウェブサイトなどで取得した「ホスト名」と「暗号化方法」(ポート番号)、「ユーザー名」と「パスワード」を入力し、「確認」を押してください。基本的にその他の項目は入力しなくても問題ありません。

  

認証に成功すると、下書きなど各種フォルダーを選択する画面が表示されます。選択が終了したら、「関連するユーザー ID (SMTP サーバー) を追加する」にチェックが入っていることを確認し、「保存」を押してください。

自動的にユーザー ID (SMTP) を入力する画面に遷移します。「あなたのお名前」を入力し、「保存」を押してください。

一部サービスでは、認証に失敗してユーザー ID を追加できないことがあります。その場合は、詳細から「ホスト名」と「暗号化方法」(ポート番号)、「ユーザー名」と「パスワード」を編集してみてください。

   

これで通常のメールは送受信できます。また、S/MIME デジタル署名付きメールの受信・検証はこの時点で可能です。戻るボタンを何回か押すと、メール一覧画面に移動します。

自分の S/MIME 証明書のセットアップ

自分の S/MIME 証明書をセットアップすると、デジタル署名したメールの送信や暗号化したメールの送受信ができます。デジタル署名したメールの受信・署名検証のみ行う場合は読み飛ばしていただいて問題ありません。

FairEmail では、S/MIME 証明書を Android システムにユーザー CA としてインストールします。端末メーカーや Android バージョンによって設定方法が大きく異なる可能性があり、その場合はご自身の端末へのユーザー CA のインストール方法をご確認ください。

まだ S/MIME 証明書を取得していない方向けに、証明書を無料配布している Actalis という認証局での証明書の取得方法の案内を末尾に記載しています。

S/MIME 証明書をメールで受信した場合

Actalis などは添付ファイルとして証明書を送ってきます。FairEmail で、メッセージの上に表示される添付ファイルの目のアイコンをタップすると、ファイルを開きます。(.zip ファイルなどの場合でも自動で展開されます)

ストレージに証明書ファイルを保存している場合

証明書ファイルを、お使いのファイルマネージャーなどから開いてください。

共通

Android システムのメッセージにより、証明書パスワードの入力が求められます。

用途と、他の証明書と区別するための名前の設定を求められます。

 

これで完了です。

初めて証明書を使用するときは、次のように証明書の選択を求められることがあります。

受信メールの S/MIME デジタル署名検証・復号

メール一覧では、S/MIME でデジタル署名・暗号化されたメールはこのようなアイコンが表示されます。

デジタル署名されたメール
デジタル署名されたメール(署名検証済み)
暗号化されたメール

一覧でメッセージをタップすると各メールを開きます。

メッセージ右のデジタル署名/暗号化アイコンに触れると、検証/復号します。

署名検証の場合、ヘッダーの署名アイコンが緑色になると、検証完了です。

復号の場合、メッセージが読めるようになるはずです。

 

相手の証明書を初めて受信した場合には、確認と保存が求められます。iマークから、証明書の各階層を確認できます。2 回目以降の受信でも、本文右上の署名アイコンをタップすれば、この画面を開けます。

 

保存した相手の証明書は、設定の暗号化タブ「公開鍵を管理」で確認できます。こちらから、事前に証明書を追加しておくこともできます。各公開鍵を長押しすると、公開鍵の削除/共有オプションが表示されます。公開鍵ファイルを保有している場合は、「公開鍵を管理」の右下+ボタンから追加できます。

  

設定の暗号化タブで、「デジタル署名されたメッセージを自動で検証する」「暗号化されたメッセージを自動で復号する」を有効にしておくと便利です。

送信メールの S/MIME デジタル署名・暗号化

メールを S/MIME デジタル署名・暗号化するには、寄付により「プロ」と呼ばれる有料機能をアンロックする必要があります。メッセージ一覧左上のハンバーガーメニューで、一番下の「プロの機能」を開いてください。

「アクティベート」をタップすると、決済ページに遷移します。

 

Google Play ストア版では、一度購入すれば同じアカウントでログイン中のすべての端末でプロの機能が使えるようになります。

 

F-droid 版、GitHub 版では、1 回アクティベーション用と回数制限なしを選択できます。日本からはクレジットカードによる寄付ができないため、PayPal を使用して作者のメールアドレス宛に個人送金する必要があります。作者のメールアドレスは、変更になっている可能性があるためご自身で確認してください。寄付時には、どのアプリのアクティベーションコードを希望しているかコメント欄に記入する必要があります。また、PayPal のメールアドレスにアクティベーション用のリンクが送られてきます。詳しくは、寄付ページの注釈を確認してください。

回数制限なしのアクティベーションを希望する場合は、使い捨てメールアドレスではなく FairEmail で継続して使用するアドレスを寄付前に PayPal に設定しておいてください。再インストールした場合、寄付時に PayPal に設定していたメールアドレスを使用する必要があります。おそらく、寄付後に PayPal 内でメールアドレスを変更したとしても反映されません。

メール一覧で右下のペンボタンをタップすると、メッセージを新規作成できます。また、受信したメッセージを開いて右下の矢印ボタンをタップすると、メッセージに返信できます。

 

宛先、件名、メッセージ(本文)を記入して右下の送信ボタンをタップすると、送信メニューが表示されます。

 

「その他のオプション」の「暗号化」で「S/MIME デジタル署名のみ」または「S/MIME 暗号化 + デジタル署名」を設定できます。

設定し終わったら、右下の「送信」からメールを送信します。

  

S/MIME 証明書取得編

ここでは、無料で使用できる Actalis の証明書を例にします。オレオレ証明書よりは優れているはずです。他の証明書を使用する予定の方は、ご自身の証明書プロバイダーの取得案内のページをご確認ください。既に証明書をお持ちの方は、スキップしてください。

Actalis はイタリアの認証局で、ほとんどの場合はお使いのブラウザーにルート証明書が搭載されているはずです。個人向けの S/MIME 証明書 (1 年有効) を、無償で提供しています。証明書にはメールアドレスのみ記載され、氏名や住所などは証明しません。

Actalis S.p.A

https://www.actalis.com/home.aspx

申し込み

こちらから申し込みを始めます。

https://extrassl.actalis.it/portal/uapub/freemail?lang=en

証明書を取得したいメールアドレスを入力し、reCAPTCHA をクリアしてください。「Send vertification email」を押すと、認証メールが届きます。

次のページで、メールに送信された認証コードの入力が求められます。コードを入力し、規約に納得できれば同意してください。

なお、メールはイタリア語→英語の順で同じ内容が書かれています。

証明書がメールで届きます。証明書の使用には、表示されているパスワードが必要です。安全な場所に保管してください。

以上です。