アップデートマニフェストへのインストーラのハッシュ値追加
次に,
リスト2 PHPの
php -r "echo sha1_file('c:\\work\\taghelper\\taghelper.xpi');"
SHA-1ハッシュ値を算出したら,
リスト3 アップデートマニフェストの修正
<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<Description about="urn:mozilla:extension:taghelper@xuldev.org">
<em:updates>
<Seq>
<li>
<Description>
<em:version>0.8.1</em:version>
<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>3.0</em:minVersion>
<em:maxVersion>3.0.*</em:maxVersion>
<em:updateLink>http://www.xuldev.org/misc/sd/taghelper-0.8.xpi</em:updateLink>
<em:updateHash>sha1:8d6769c9bca0bda73727770ba1bbaf66409263b8</em:updateHash>
</Description>
</em:targetApplication>
</Description>
</li>
</Seq>
</em:updates>
</Description>
</RDF>
注意点すべき点として,
アップデートマニフェストへの電子署名
アップデートマニフェストへの電子署名を施す前に,
McCoyで生成した公開鍵・
リスト4 電子署名を施したアップデートマニフェスト
<?xml version="1.0"?>
<RDF:RDF xmlns:em="http://www.mozilla.org/2004/em-rdf#"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<RDF:Description RDF:about="rdf:#$3b.rF3"
em:version="0.8.1">
<em:targetApplication RDF:resource="rdf:#$6b.rF3"/>
</RDF:Description>
<RDF:Description RDF:about="rdf:#$6b.rF3"
em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
em:minVersion="3.0"
em:maxVersion="3.0.*"
em:updateLink="http://www.xuldev.org/misc/sd/taghelper-0.8.xpi"
em:updateHash="sha1:8d6769c9bca0bda73727770ba1bbaf66409263b8" />
<RDF:Seq RDF:about="rdf:#$2b.rF3">
<RDF:li RDF:resource="rdf:#$3b.rF3"/>
</RDF:Seq>
<RDF:Description RDF:about="urn:mozilla:extension:taghelper@xuldev.org"
em:signature="MIGTMA0GCSqGSIb3DQEBDQUAA4GBAI+e5XvP8Q/viijwVWbC30MvwM4Ohstm5hqUqfkhjmZCsWcIUaux1XPi2r+/keAN+XxTYV4oaQvcP9OSeOzEQNuxwTNUDP5iHmDfRjpEfQHNI5X4QYHmNqlcHTm2loQzQjq1fQd1vUSRdq1WP9/NELuBqpnzC6abb1+iK+WK978q">
<em:updates RDF:resource="rdf:#$2b.rF3"/>
</RDF:Description>
</RDF:RDF>
なお,
Webサーバでの公開
アップデートマニフェストとインストーラを,
- Extension Packaging - MDC
- URL:http://
developer. mozilla. org/ ja/ Extension_ Packaging
動作確認
実際にアドオンマネージャにて更新確認と新しいバージョンがインストール可能であることの動作確認を行います。インストーラの動作確認用のプロファイルへタグヘルパーが既にインストールされている場合は,
- リスト3の<em:updateLink>で示したURLをFirefoxのロケーションバー入力すると,
タグヘルパー (バージョン0. 8) のインストールが正常に行われる。 - タグヘルパー
(バージョン0. 8) をインストール後, アドオンマネージャで 「更新を確認」 すると, 図4のようにタグヘルパーの更新 (バージョン0. 8.1) が検出される。 - アドオンマネージャにて
「更新をインストール」 ボタンをクリックすると, 正常にインストールが実行される。
なお,
まとめ
今回はおもにレンタルサーバなどで拡張機能の配布をする方を対象として,