यहां ओमर इस्माइल के निर्देश हैं, अलग शैल स्क्रिप्ट की आवश्यकता को छोड़कर। यह सभी एक निर्देशिका safari/
में होगा, जहां हम एक्सटेंशन safari/appname.safariextz
बनने के लिए निर्देशिका पर हस्ताक्षर करेंगे। पहली बात यह है कि एक्सटेंशन बिल्डर के Build Package
के साथ आधिकारिक तरीके से विस्तार पर हस्ताक्षर करना है।
सेट करें Xar:
1. डाउनलोड करें और अनज़िप/अनटार https://github.com/downloads/mackyle/xar/xar-1.6.1.tar.gz भी आप निष्पादन योग्य xar-1.6.1 चाहते
xar में 2. (xar 1.6dev विकल्पों हम की जरूरत का समर्थन नहीं करता) को -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. खुली कीचेन एक्सेस और सफारी/कर्ट/certs.p12 पर अपने सफारी डेवलपर प्रमाणपत्र को निर्यात करें (certs.p12 के लिए रिक्त पासवर्ड का उपयोग करें, और फिर प्रमाण पत्र निर्यात करने के लिए अपने मैक के पासवर्ड का उपयोग करें)
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
यह एक 2006 हिम तेंदुए मैकबुक पर सभी था, इसलिए यह संभव है चीजों को एक मशीन अधिक हो रहा है उस पर अलग हो सकता है तारीख तक।
बुरी खबर? http://twitter.com/eridius/status/17227204729 – kch
केएच ने इसे सिर पर खींचा। शायद किसी के पास एक हैक है जो काम करता है? – Caladain