一連の sendmail セットアップシリーズでできたメールサービスを iPhone から使っていると突如としてサービスにアクセスできないようになってしまいました。外ではまってしまったのでイオンの WiFi で何が問題なのかを調べる程度しかできませんでした。問題がわかってしまえば大した内容ではありませんが、忘れないように書いておきたいと思います。
iPhone が止まった!
メールのアカウントはいくつかあるのですが、自宅のメールサーバだけが接続を拒否しており、このように Account Error となって新しいメールを iPhone に取得することができないようになってしまいました。
エラーメッセージの詳細ボタンを押してみると、メールサーバーが応答しないので、ユーザ名やパスワードが正しいかどうか調べてみ? とおっしゃっています。午前中は普通に動いていて、メールのアカウント関係は触っていないので、サーバー側の問題かな?と思って、もう少し詳細なエラーの情報が得られないかコーヒー飲みながら試してみました。
Home Mail を開いてリフレッシュしてメールを落とそうとしましたが、やはりエラーになってしまいます。
SSL エラー
こちらのエラーメッセージの詳細ボタンを押すと、見慣れたエラーメッセージが表示されました。どこで見るかというと、公衆 WiFi 等、かつて使用したことがある WiFi にログオンして認証を通過していなかった場合に、メールクライアントがメールサーバーにアクセスしようとすると、このエラーをよく見ます。これはメールアクセスをしようとして SSL 接続を行おうとしたときに期待している証明書と異なる証明書を受け取った時に同じメッセージを見ることがあります。ここまでくると、あぁ、証明書のエラーなのね? と理解できました。
メールサービスの証明書を確認すると、証明書の有効期間切れが発覚。他のメールクライアントなどだと、証明書が無効だけどつなぎたいか?みたいな質問に “はい” と答えるとそのまま使えたりするのですが、iPhone はどうしてもメール受信ができませんでした。まぁ、状況がわかる人ばかりが使っているわけではないので、この動きは正しいのかなと思います 🙂 ここまでわかれば、外では何ともならないので、後は自宅で復旧を行うこととします。
証明書の作り直し
さて、証明書を管理している krb5 さんにログインして証明書を発行します。以前の sendmail セットアップシリーズで /etc/mail/CA にナンチャッテ認証局を作りました。
まず、openssl.cnf ファイルを編集します。
CN を確認して、証明書を作りたいサーバーに変更します。
そして証明書を作成します。
最後に作成した証明書に署名を付けます。そのために、認証局のパスワードを入れます。
証明書失効作業
怒られました 🙁 今署名しようとした証明書は既に署名したことがある旨メッセージを表示してエラーで終了します。それはそうです。認証局がいくつも同じ証明書を作ってもよい状況が発生すると、証明書が証明書でなくなります 🙂
エラーメッセージに従って、シリアル番号 08 の証明書を失効させます。
そしてもう一度署名を付けます。
今回は問題なく証明書に署名できました。
データベース確認
データベースファイルを確認してみます。古い証明書は先頭に “R” が付いて失効した [ (R)evoke ] と書かれています。そして新しい証明書が追加されています。
この新しくできた証明書で sendmail や imap の古い証明書を置き換えます。その方法は、以前の sendmail セットアップシリーズでご紹介したそのままです。こちらが iPhone で見た新しい証明書です。
一大事!
証明書の置き換えも済んでおせち料理やお雑煮を食べているときに皆で顔を見合わせて、”ん?揺れてる?” “うん、揺れてる” 。。。テレビをつけてみると北陸でえらいことになっていると報じられていました。能登地震で被害を受けられた皆さんには心よりお見舞い申し上げます。
コメント