零基礎(chǔ)的 PhotoShop CEP 6 開發(fā)教程 「 9 」簽名打包與 ZXPSignCmd

《零基礎(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

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

Extension Manager 已死

Adobe 想讓人們都去它的 Adobe Add-Ons 市場下載擴(kuò)展挎扰,不過實(shí)際上 Adobe Add-Ons 并不好用嗎,尤其是國內(nèi)網(wǎng)絡(luò)環(huán)境下巢音,Adobe Creative Cloud 客戶端安裝擴(kuò)展不僅速度慢而且很容易失敗

Adobe Add-Ons

所以目前的擴(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è)這家伙...


ZXPInstaller
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末官撼,一起剝皮案震驚了整個(gè)濱河市梧躺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌傲绣,老刑警劉巖掠哥,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異秃诵,居然都是意外死亡续搀,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門菠净,熙熙樓的掌柜王于貴愁眉苦臉地迎上來禁舷,“玉大人彪杉,你說我怎么就攤上這事∏A” “怎么了派近?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長洁桌。 經(jīng)常有香客問我渴丸,道長,這世上最難降的妖魔是什么战坤? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任曙强,我火速辦了婚禮,結(jié)果婚禮上途茫,老公的妹妹穿的比我還像新娘碟嘴。我一直安慰自己,他們只是感情好囊卜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布娜扇。 她就那樣靜靜地躺著,像睡著了一般栅组。 火紅的嫁衣襯著肌膚如雪雀瓢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天玉掸,我揣著相機(jī)與錄音刃麸,去河邊找鬼。 笑死司浪,一個(gè)胖子當(dāng)著我的面吹牛泊业,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播啊易,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼吁伺,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了租谈?” 一聲冷哼從身側(cè)響起篮奄,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎割去,沒想到半個(gè)月后窟却,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡劫拗,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年间校,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片页慷。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡憔足,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出酒繁,到底是詐尸還是另有隱情滓彰,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布州袒,位于F島的核電站揭绑,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏郎哭。R本人自食惡果不足惜他匪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望夸研。 院中可真熱鬧邦蜜,春花似錦亥至、人聲如沸悼沈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茶敏。三九已至壤靶,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間惊搏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國打工胀屿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人宿崭。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓亲铡,卻偏偏與公主長得像,于是被迫代替她去往敵國和親葡兑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子奖蔓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容