Firefox3用 FireDictionary インストールファイル作成手順

Firefox3 からは、拡張のinstall.rdfにupdateURLを含める場合で、かつhttpsではなくhttpを使用する場合に、update.rdf(インストールマニフェスト)に署名と、xpiファイルのハッシュを埋め込む必要が有る。この署名とハッシュが無いと、Firefox3に拡張のインストールを拒否される。
また、この署名の有効性を保証するために、あらかじめinstall.rdfに公開鍵を埋め込んでおく必要が有る。
なので、拡張の開発者はfirefox3がリリースされる前に、install.rdfに公開鍵を埋め込んだバージョンの拡張を配布しておかないと更新できなくなるんじゃないかという気がするのだが、未確認。

署名のupdate.rdfへの埋め込みと公開鍵のinstall.rdfへの埋め込みには、Mozillaの提供するMcCoyというアプリケーションを使用する事ができる。このMcCoyは、

  • 公開鍵、秘密鍵のキーペアの作成と管理
  • 公開鍵のinstall.rdfへの埋め込み
  • 署名のupdate.rdfへの埋め込み

をしてくれるアプリ。非常にシンプルに作られているので、迷う事無く使用できるはず。

以下、FireDictionary に特化した部分(以下*印)も有るが、参考までに。
1. install.rdf, update.rdf, build.xml(*)のバージョン情報を更新する。
2. McCoy で install.rdf に公開鍵を埋め込む。
3. (*)以下で firedictionary.xpi の生成

> ant

4. 以下で SHA1 ハッシュ生成

> openssl sha1 firedictionary.xpi

5. 生成したハッシュを update.rdf に埋め込む。
6. McCoy で update.rdf に署名する。
7. (*)以下でダウンロードファイルの生成

> ant makeDownloadFiles

以上。
※参考にしたサイト
Extension Versioning, Update and Compatibility - MDC
http://developer.mozilla.org/ja/docs/Extension_Versioning%2C_Update_and_Compatibility
McCoy - MDC
http://developer.mozilla.org/ja/docs/McCoy