2016年3月23日水曜日

Ubuntu 15.10 にインストールした Sylpheed 3.5.0 で S/MIME 署名を検証すると“署名検証エラー”が発生する問題

Ubuntu 15.10 にソースパッケージからインストールしている Sylpheed 3.5.0 で S/MIME 署名が施されたメールを表示すると、必ず、本文末尾に

[application/x-pkcs7-signature (署名検証エラー)]

といったエラーが表示される状態になっていることに気付いた。

原因は、 gpgsm のインストール忘れ。

$ sudo apt-get install gpgsm dirmngr

として、 gpgsm をインストールし、 Sylpheed を再起動することで解決した。

解決までの過程

当初、 GnuPG 関連の開発用ライブラリのインストール忘れを疑って、

を参考にチェック。 手元の環境では、 libksba-dev がインストールされていなかったことから、 libksba-dev のインストールと Sylpheed 3.5.0 のビルドし直しを行なった。

$ sudo apt-get install libksba-dev
$ cd ~/local/src/sylpheed-3.5.0/
$ make clean
$ ./configure --prefix=$HOME/local
$ make
$ make install

…が、エラーは解消されなかった。

「Windows 版の Sylpheed 3.5.0 + GnuPG 2.1.11 では、 S/MIME 署名の検証は正常に行われているのになぁ…。」

と、ぼーっと両者の環境を見比べていると、

「んん?!∑(゚д゚lll) Ubuntu 環境に gpgsm がインストールされていない?! えっ?!」

慌てて検索してみると、

$ sudo apt-cache search gpgsm
gpgsm - GNU privacy guard - S/MIME version
libgpg-error-dev - GnuPG の構成要素に共通のエラー値およびメッセージ用ライブラリ (開発用)
libgpg-error0 - GnuPG の構成要素に共通のエラー値およびメッセージ用ライブラリ
dirmngr - 廃棄証明書リスト管理サーバ

gnupg2 パッケージに当然含まれていると思い込んでいた gpgsm が、別のパッケージとして存在していたことが判明_| ̄|○

というわけで、

$ sudo apt-get install gpgsm dirmngr

として、 gpgsm をインストールし、 Sylpheed を再起動したところ、

[application/x-pkcs7-signature (有効な署名 (信用されていない鍵))]
署名の作成時刻 2016年03月10日 16時31分55秒
有効な署名ですが "1.2.840.113549.1.9.1=#70726F6D406E6574626B2E636F2E6A70,CN=SBI Sumishin Net Bank\, Ltd.,OU=Symantec Class 3 Organizational E-Mail Certificate,OU=Marketing Promotion Dept,O=SBI Sumishin Net Bank\, Ltd.,L=Minato-ku,ST=Tokyo,C=JP" の鍵は信用されていません
        または "<prom@netbk.co.jp>"

といった感じで、署名が検証されるようになった。 (上記の出力で、“(信用されていない鍵)”となっているのは、わたしが当該鍵の信頼性を明示的に設定していないため。)

0 件のコメント:

コメントを投稿