《零基礎(chǔ)的 PhotoShop CEP 6 開發(fā)教程》系列目錄
「 0 」目錄
「 1 」配置開發(fā)環(huán)境
「 2 」CEP 文件結(jié)構(gòu)
「 3 」CEP 的運(yùn)行機(jī)制
「 4 」Hello World !
「 5 」事件(EVENTS)
「 6 」調(diào)用 JSX 并傳遞信息
「 7 」UI - HTML 開發(fā)的一些細(xì)節(jié)
「 8 」API - 文件讀寫與二進(jìn)制數(shù)據(jù)
「 9 」簽名打包與 ZXPSignCmd
「 X 」CEP 更新到 6.1版了
這次來說說,CEP 擴(kuò)展打包發(fā)布相關(guān)的事。
CEP 擴(kuò)展必須有簽名才能運(yùn)行
CEP 擴(kuò)展必須有簽名才能運(yùn)行维咸,而所謂簽名是驗(yàn)證擴(kuò)展文件是否與簽名時(shí)一致的手段,能保證你的擴(kuò)展不被篡改和識(shí)別擴(kuò)展作者枚钓。所以你會(huì)發(fā)現(xiàn)修改了別人的擴(kuò)展插件后渺蒿,擴(kuò)展就無法運(yùn)行了隔节。
不過在擴(kuò)展開發(fā)者模式下筐带, PhotoShop 會(huì)無視簽名今穿,關(guān)于打開發(fā)者模式,在 「 1 」配置開發(fā)環(huán)境 一文中介紹了伦籍。
這里提供 2 個(gè) .reg 文件蓝晒,在 Windows 下雙擊就能方便的開關(guān)開發(fā)者模式:
CEP 調(diào)試模式關(guān)閉.reg , CEP 調(diào)試模式打開.reg
簽名方法
簽名分為和自簽名證書(self-signed certificates)或者商業(yè)簽名證書(commercial certificates),
商業(yè)簽名可以(也僅可以)在下列數(shù)字簽名提供商中購買:
商業(yè)證書在使用 Adobe Extension Manager 安裝時(shí)不會(huì)有如下警告:
不過在 CC 2015 之后 Adobe Extension Manager 已經(jīng)被移除了(Adobe 現(xiàn)在想讓用戶都從它的 Adobe Add-Ons 市場上購買帖鸦、下載插件)
不用付錢我們也可以使用自簽名證書芝薇,自簽名證書可以使用 ZXPSignCmd 創(chuàng)建。
ZXPSignCmd
ZXPSignCmd 是 Adobe 官方發(fā)布的簽名與打包的命令行工具富蓄,有 Windows 和 OSX 2 個(gè)平臺(tái)的版本剩燥。這里先介紹使用 ZXPSignCmd 創(chuàng)建證書和打包的方法,如果覺得命令行工具麻煩立倍,可以使用我制作的 GUI 版本,后面會(huì)介紹侣滩。
創(chuàng)建證書
ZXPSignCmd -selfSignedCert <countryCode> <stateOrProvince> <organization> <commonName> <password> <outputPath.p12>
ZXPSignCmd -selfSignedCert <國家代碼> <地區(qū)> <組織名> <證書所有者名稱> <證書密碼> <證書名.p12>
例子:
ZXPSignCmd -selfSignedCert CN Changsha nullice.com nullice 123456 我的證書.p12>
簽名并打包
ZXPSignCmd -sign <inputDirectory> <outputZxp> <p12> <p12Password> -tsa <timestampURL>
ZXPSignCmd -sign <要打包的項(xiàng)目目錄> <輸出文件路徑> <證書路徑> <證書密碼> -tsa <時(shí)間戳服務(wù)地址>
其中 -tsa <時(shí)間戳服務(wù)地址>
不需要可以省略口注。
ZXPSignCmd -sign "PS.fonTags\fonTags" "PS.fonTags\我的擴(kuò)展.zxp" "我的證書.p12" "123456"
要注意的是這里輸出文件路徑如果已經(jīng)存在了一個(gè)文件的話(比如曾經(jīng)打包的),ZXPSignCmd 是不會(huì)自己覆蓋它的君珠,需要自己手動(dòng)刪除寝志。
打包后輸出的文件是 ZIP 格式的,可以用 ZIP 解壓縮工具解壓。
ZXP WinGUI
在 Windows 下除了直接使用 ZXPSignCmd 材部,還可以使用有圖形界面的 ZXP WinGUI毫缆,注意這不是 Adobe 官方的,只是我自己制作的乐导。是否使用請(qǐng)謹(jǐn)慎判斷苦丁。
開發(fā)用的工具能從官方渠道獲取的就盡量用官方的,這不僅僅是為了自己的安全也是為了你開發(fā)軟件的用戶安全負(fù)責(zé)物臂,CEP 的能調(diào)用的本地接口很多旺拉,如果被置入惡意代碼的話很危險(xiǎn),出現(xiàn)像 XcodeGhost 一樣的事件就不好了棵磷。
使用方法
-
1 創(chuàng)建證書
1 創(chuàng)建證書 -
2 打包
2 打包
ZXP WinGUI 實(shí)際只是直接調(diào)用 ZXPSignCmd 蛾狗,不過除了圖形界面以為還有這些方便使用的功能:
- 自動(dòng)清除過期的生成文件(覆蓋)
- 拖放文件夾輸入項(xiàng)目目錄
- 生成打包 ZXP 的批處理
其中生成打包 ZXP 的批處理,可以在填寫配置后生成一個(gè) .bat 批處理文件仪媒,以后執(zhí)行這個(gè)批處理就可以打包了
另外如果你喜歡用 gulp 的話沉桌,可以看看這篇: Automate ZXP Packaging with Gulp.js
注意
打包后插件目錄中文件就不可以修改或者刪減了,否則都會(huì)使簽名驗(yàn)證失敗算吩。
這意味著你的擴(kuò)展不能在插件目錄中存儲(chǔ)用戶數(shù)據(jù)或者下載內(nèi)容蒲牧。
要存儲(chǔ)這些擴(kuò)展運(yùn)行中產(chǎn)生的數(shù)據(jù),請(qǐng)存儲(chǔ)到類似 cs.getSystemPath(SystemPath.USER_DATA)
的系統(tǒng)目錄中去(詳見「 8 」API - 文件讀寫與二進(jìn)制數(shù)據(jù)一文的文件路徑部分)赌莺,總之就是不要讓你的擴(kuò)展在擴(kuò)展目錄中產(chǎn)生數(shù)據(jù)冰抢,或者修改自己的文件。
安裝擴(kuò)展
Adobe Extension Manager 已經(jīng)不會(huì)在 CC 2015 以后的版本上了艘狭,
Announcement: Extension Manager End of Life Notification
Adobe 想讓人們都去它的 Adobe Add-Ons 市場下載擴(kuò)展挎扰,不過實(shí)際上 Adobe Add-Ons 并不好用嗎,尤其是國內(nèi)網(wǎng)絡(luò)環(huán)境下巢音,Adobe Creative Cloud 客戶端安裝擴(kuò)展不僅速度慢而且很容易失敗
所以目前的擴(kuò)展主流是自己發(fā)布文件讓
- 用戶自己復(fù)制文件到擴(kuò)展安裝目錄
- 用戶執(zhí)行 .JSX遵倦、.Bat 腳本,幫助用戶一鍵復(fù)制文件到擴(kuò)展安裝目錄
- 自己制作一個(gè)安裝器軟件
- Adobe Extension Manager 的開源替代品 :ZXPInstaller
其中 ZXPInstaller 是一個(gè)功能和 Adobe Extension Manager 差不多的軟件,不過 40 多 MB 的體積真不想跟用戶說下個(gè)幾 MB 的擴(kuò)展前先裝個(gè)這家伙...