>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Обновление расширения Firefox: неопределенная ошибка [SOLVED] http://forum.mozilla-russia.org/viewtopic.php?id=44614 |
Zeiss > 26-05-2010 23:25:41 |
Добрый день! Мы создали расширение для нашего сайта. Оно устанавливается и работает нормально. Вот мой install.rdf (содержащийся в файле xpi): Выделить код Код:<?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="urn:mozilla:install-manifest" em:id="extension.id" em:type="2" em:version="1.7" em:name="company ECM Extension" em:description="The ECM extension provides integration tools for working with company services." em:creator="company Europe AB" em:homepageURL="http://www.company.com" em:iconURL="chrome://ecmext/content/ecmext.png" em:aboutURL="chrome://ecmext/content/about.xul" em:updateURL="https://localhost/distrib/update.rdf" em:updateKey="MIGfMA0GCSqGSIb3DQEBAQUAA4G....."> <em:targetApplication RDF:resource="urn:mozilla:firefox" /> </RDF:Description> <RDF:Description RDF:about="urn:mozilla:firefox" em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" em:minVersion="3.5" em:maxVersion="3.6.3" /> </RDF:RDF> Вот update.rdf: Выделить код Код:<?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:Seq RDF:about="rdf:#$Vi19E3"> <RDF:li RDF:resource="urn:company:ecmext"/> </RDF:Seq> <RDF:Description RDF:about="urn:mozilla:firefox" em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" em:minVersion="3.5" em:maxVersion="3.6.3" em:updateLink="https://localhost/distrib/ecmext_1_7.xpi" em:updateHash="sha256:7e6139b71decd5c6f8f6ee4e58c581f184ecbfd178436da2232baa79f4fe23fd" /> <RDF:Description RDF:about="urn:company:ecmext" em:version="1.7"> <em:targetApplication RDF:resource="urn:mozilla:firefox"/> </RDF:Description> <RDF:Description RDF:about="urn:mozilla:extension:extension.id" em:signature="MIGTMA0GCSqGSIb3DQEBDQUAA4GBAFL0pBKuHY3oLY84qd....."> <em:updates RDF:resource="rdf:#$Vi19E3"/> </RDF:Description> </RDF:RDF> (длинные значения BASE64 усечены) Сообщение выскакивает мгновенно, сразу после запроса к update.rdf. Запрос к файлу ecmext_1_7.xpi не выполняется. Вот заголовки ответа сервера: Выделить код Код:HTTP/1.1 200 OK Cache-Control: public, max-age=7776000 Content-Length: 1238 Content-Type: text/xml Expires: Tue, 24 Aug 2010 18:04:49 GMT Last-Modified: Wed, 26 May 2010 17:38:42 GMT Accept-Ranges: none Etag: "509423464d6" Server: Microsoft-IIS/7.5 X-AspNet-Version: 2.0.50727 X-UA-Compatible: IE=EmulateIE7 Date: Wed, 26 May 2010 18:04:49 GMT Вот для сравнения ответ addons.mozilla.org: Выделить код Код:HTTP/1.1 200 OK Server: Apache X-Backend-Server: pp-app-amo01 Cache-Control: public, max-age=3600 Content-Type: text/xml Date: Wed, 26 May 2010 17:20:38 GMT Keep-Alive: timeout=5, max=994 Expires: Wed, 26 May 2010 18:20:38 GMT Accept-Ranges: bytes Via: Moz-Cache-pp-zlb01 Last-Modified: Wed, 26 May 2010 17:20:38 GMT X-Powered-By: PHP/5.2.9 Content-Length: 1063 Connection: close X-Cache-Info: cached Существенной разницы не нахожу. Кроме того, возможно ли, что Firefox выбрасывает ошибку, когда находит self-signed SSL certificate сервера, установленный на моем рабочем компьютере? Если возможно (в чем я сомневаюсь), как же тогда вести разработку, если не покупать "правильные" сертификаты? Короче, куда-то я не туда копаю... Пожалуйста, ткните в причину и завершите мое сегодняшнее безумие! Спасибо |
Unghost > 26-05-2010 23:46:15 |
Zeiss
26-05-2010 23:51:21
Насколько я понимаю, нужно либо использовать https в updateLink, либо updateHash. И то и то - не нужно. Вся суть updateHash - дешёвая замена для https. |
Zeiss > 27-05-2010 15:17:22 |
Unghost пишет
Да, оно! Спасибо за исчерпывающий первоисточник! Unghost пишет
Его так переорганизовал МакКой. |
banbot > 27-05-2010 15:53:43 |
Zeiss
Ну вроде можно добавить свой самоподписанный сертификат в базу сертификатов Mozilla при помощи Certificate Database Tool. |
Zeiss > 27-05-2010 20:39:56 |
banbot пишет
А разве сертификаты туда не добавляются через диалог, когда нажимаешь Add Exception на странице "This Connection is Untrusted"? |
banbot > 27-05-2010 20:45:15 |
Zeiss
Добавляются, в профиль пользователя. Но иногда надо развернуть дистрибутив с уже добавленными сертификатами, чтобы юзеры не звонили с глупыми вопросами об вылезающих страницах с непонятным и пугающим текстом. |
Zeiss > 02-06-2010 13:36:17 |
banbot пишет
Спасибо за ценную информацию! |
futureFAvorit32 > 04-06-2011 14:02:06 |
У меня тоже нихочет обновляться, самоподписаный сертификат на локальном сервере. mime-типы выставил. добавил сертификат в исключение. Выделить код Код:<?xml version="1.0" encoding="UTF-8"?> <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:install-manifest"> <em:id>aagent@mozilla.org</em:id> <em:version>1.1</em:version> <em:type>2</em:type> <em:targetApplication> <Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>3.0a1</em:minVersion> <em:maxVersion>7.0a1</em:maxVersion> </Description> </em:targetApplication> <em:name>AutoCrack Agent</em:name> <em:bootstrap>false</em:bootstrap> <em:unpack>false</em:unpack> <em:creator>Eugen Li</em:creator> <em:updateURL>https://money.local/aca/update.rdf</em:updateURL> <em:optionsURL>chrome://autocrackagent/content/form_settings.xul</em:optionsURL> </Description> </RDF> update.rdf: Выделить код Код:<?xml version="1.0"?> <RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#"> <RDF:Description about="urn:mozilla:extension:aagent@mozilla.org"> <em:updates> <RDF:Seq> <RDF:li resource="urn:mozilla:extension:aagent@mozilla.org:1.2" /> </RDF:Seq> </em:updates> </RDF:Description> <RDF:Description about="urn:mozilla:extension:aagent@mozilla.org:1.2"> <em:version>1.2</em:version> <em:targetApplication> <RDF:Description> <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id> <em:minVersion>3.0a1</em:minVersion> <em:maxVersion>7.0a1</em:maxVersion> <em:updateLink>http://money.local/aca/aca.xpi</em:updateLink> <em:updateInfoURL>https://money.local/aca/</em:updateInfoURL> <em:updateHash>sha256:1c47d57fecaa4ef34351eaabbf04172950ad8e41328684bdb351c1af1c41331c</em:updateHash> </RDF:Description> </em:targetApplication> </RDF:Description> </RDF:RDF> |
hydrolizer > 04-06-2011 17:53:10 |
futureFAvorit32 скрытый текст Расширение, версия 0.0: Выделить код Код:<?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="urn:mozilla:install-manifest" em:id="{2ff1a7f6-ad47-4579-849a-89a90a91e9a9}" em:type="2" em:name="BarPrefs" em:version="0.0" em:creator="%20" em:description="subj" em:updateURL="http://dl.dropbox.com/u/14131025/testing/update.rdf" em:updateKey="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBi........................"> <em:targetApplication RDF:resource="rdf:#$6ztS.1"/> </RDF:Description> <RDF:Description RDF:about="rdf:#$6ztS.1" em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" em:minVersion="4.0b12" em:maxVersion="5.*" /> </RDF:RDF> Расширение, версия 1.0: Выделить код Код:<?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="urn:mozilla:install-manifest" em:id="{2ff1a7f6-ad47-4579-849a-89a90a91e9a9}" em:type="2" em:name="BarPrefs" em:version="0.1" em:creator="%20" em:description="subj" em:updateURL="http://dl.dropbox.com/u/14131025/testing/update.rdf" em:updateKey="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ....................................................."> <em:targetApplication RDF:resource="rdf:#$6ztS.1"/> </RDF:Description> <RDF:Description RDF:about="rdf:#$6ztS.1" em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" em:minVersion="4.0b12" em:maxVersion="5.*" /> </RDF:RDF> update.rdf для апдейта версии 0.0 на 1.0: Выделить код Код:<?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:#$Wfjs52" em:version="1.0"> <em:targetApplication RDF:resource="rdf:#$Zfjs52"/> </RDF:Description> <RDF:Description RDF:about="rdf:#$Zfjs52" em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}" em:minVersion="4.0b8pre" em:maxVersion="5.*" em:updateLink="http://dl.dropbox.com/u/14131025/testing/barprefs_new.xpi" em:updateHash="sha1:ff5648cfe1de270cf935d54a4363fc3fd720c19e" /> <RDF:Seq RDF:about="rdf:#$Vfjs52"> <RDF:li RDF:resource="rdf:#$Wfjs52"/> </RDF:Seq> <RDF:Description RDF:about="urn:mozilla:extension:{2ff1a7f6-ad47-4579-849a-89a90a91e9a9}" em:signature="MIGTMA0GCSqGSIb3DQEBDQUAA4..........................................."> <em:updates RDF:resource="rdf:#$Vfjs52"/> </RDF:Description> </RDF:RDF> Расширение версии 0.0 находится здесь: http://dl.dropbox.com/u/14131025/testin … fs_old.xpi; версия 1.0 - на том же ресурсе. Расширение тестовое, и не содержит ничего, кроме настроек. Делалось все с помощью McCoy. Ну, и загляните вот сюда: https://developer.mozilla.org/en/Extens … patibility - мало ли, вдруг найдёте то, что упустили или забыли. |
futureFAvorit32 > 06-06-2011 20:31:10 |
hydrolizer пишет
Да, с McCoy всё пашет. hydrolizer пишет
В таком формате и в таком https://developer.mozilla.org/en/install_manifests с ключами McCoy тоже всё работает. Итог исследований обновления показал: ЗЫ: install.rdf должен иметь в em:updateURL HTTPS-ссылку или иметь ключи созаны McCoy, иначе расширение не ставиться (на Firefox 4.*). |
hydrolizer > 07-06-2011 03:30:33 |
futureFAvorit32 пишет
По данной выше ссылке написано же:
Вот этот updateKey с его digital signature и включается в манифесты с помощью McCoy. А сама эта сигнатура является base-64 encoded открытой частью RSA-ключа. |