Вот инструкции Омара Исмаила, исключающие необходимость в отдельных скриптах оболочки. Все это произойдет в каталоге safari/
, где мы будем подписывать каталог safari/appname.safariextension/
, чтобы стать расширением safari/appname.safariextz
. Первым делом нужно подписать расширение официальным способом с помощью Extension Builder's Build Package
.
.
Настройка Xar:
1. Скачать и распаковать / распаковать
https://github.com/downloads/mackyle/xar/xar-1.6.1.tar.gz
куда вам нужен исполняемый файл xar-1.6.1 (xar 1.6dev не поддерживает нужные нам параметры)
2. в xar-1.6.1 /
./configure
make
sudo make install
sudo ln -s /full/path/to/xar-1.6.1/src/xar /usr/local/bin/xar161
Настройте свои сертификаты:
1. в сафари /
mkdir certs/
xar161 -f appname.safariextz --extract-certs certs/
2. Откройте связку ключей. Получите доступ и экспортируйте свой сертификат разработчика Safari в safari / certs / certs.p12 (используйте пустой пароль для certs.p12, а затем используйте пароль своего Mac для экспорта сертификата)
3. в сафари / сертификаты /
openssl pkcs12 -in certs.p12 -nodes | openssl x509 -outform der -out cert.der
(same blank password)
openssl pkcs12 -in certs.p12 -nodes | openssl rsa -out key.pem
(same blank password)
openssl dgst -sign key.pem -binary < key.pem | wc -c > size.txt
Возможно, вы можете получить сертификаты от certs/cert.p12
, и вам не понадобится шаг --extract-certs
(и, следовательно, не нужно, чтобы расширение было построено официально), но я не знаю достаточно хорошо openssl, и это только для настройки, в которой вам все равно нужен этот шаг.
После того, как все настроено, подпишите расширение:
В сафари /
xar161 -czf appname.safariextz --distribution appname.safariextension/
xar161 --sign -f appname.safariextz --digestinfo-to-sign digest.dat --sig-size `cat certs/size.txt` --cert-loc certs/cert.der --cert-loc certs/cert01 --cert-loc certs/cert02
openssl rsautl -sign -inkey certs/key.pem -in digest.dat -out sig.dat
xar161 --inject-sig sig.dat -f appname.safariextz
rm -f sig.dat digest.dat
Все это было на MacBook Snow Leopard 2006 года, поэтому вполне возможно, что на компьютере, который более современен, все может быть по-другому.