Dưới đây là hướng dẫn của Omar Ismail, bỏ qua sự cần thiết của các tập lệnh shell riêng biệt. Tất cả điều này sẽ xảy ra trong một thư mục safari/
, nơi chúng tôi sẽ ký vào thư mục safari/appname.safariextension/
để trở thành tiện ích mở rộng safari/appname.safariextz
. Điều đầu tiên là đăng ký tiện ích theo cách chính thức, với số máy lẻ Build Package
của Người xây dựng tiện ích mở rộng.
Thiết lập XAR:
1. Tải về và giải nén/giải nén https://github.com/downloads/mackyle/xar/xar-1.6.1.tar.gz đến bất cứ nơi nào bạn muốn thực thi XAR-1.6.1 (XAR 1.6dev không hỗ trợ các tùy chọn chúng ta cần)
2. trong 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
Thiết lập giấy chứng nhận của bạn:
1. trong safari/
mkdir certs/
xar161 -f appname.safariextz --extract-certs certs/
2. mở Keychain Truy cập và xuất chứng chỉ Safari Developer của bạn sang safari/certs/certs.p12 (sử dụng mật khẩu trống cho certs.p12, và sau đó sử dụng mật khẩu Mac của bạn để xuất chứng chỉ)
3. trong safari/certs/
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
có thể là bạn có thể nhận được giấy chứng nhận từ certs/cert.p12
, và không cần bước --extract-certs
(và do đó không cần phần mở rộng được xây dựng cách chính thức), nhưng tôi không biết openssl cũng đủ, và nó chỉ cho các thiết lập mà bạn cần bước đó anyway.
Sau khi mọi thứ được thiết lập, ký phần mở rộng:
trong Safari/
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
Đây là tất cả trên Snow Leopard MacBook năm 2006, do đó, nó có thể điều có thể khác nhau trên một máy đó là hơn lên cho đến nay.
tin xấu? http://twitter.com/eridius/status/17227204729 – kch
Kch đóng đinh nó trên đầu. Có thể ai đó có hack hoạt động? – Caladain