Quantcast
Channel: 不認真寫部落格
Viewing all articles
Browse latest Browse all 79

簡單紀錄 Code Signing for MAC Package file

$
0
0

最近因為專案的需求接觸到這一塊

簡單紀錄一下

首先針對一些 AppleScript 或是 Automator 所編寫出來的檔案

如果直接 Download 後點擊執行的話,應該是不會有問題

但是像在 Automator 的 WorkFlow 裡面從某一位置下載後放到另外一個位置

如果是由其它 App 偵測載入顯示的話,可能會發生找不到的情況

原因可能是安全性的關係

例如 Outlook 的 Plug-in 只要把 AppleScript 放到定位就可以出現了

不過若是由 WorkFlow 下載放進去則不會顯示(執行沒問題)

ps. 如果是自己先 Copy 到別的目錄 & 再 Paste 蓋回去就可以了

.

所以比較保險的方法是用安裝的

一開始從 XCode 裡面找不太到怎麼 New 一個安裝 Project

(還是不該用 MS 的經驗來套它 ^^)

後來找到了官方提供的 Package Maker 工具

需要自己下載安裝(老實說-這不查誰知道,怎麼不一起裝一裝就好了)

安裝下載位置

https://developer.apple.com/downloads/

找到

Auxiliary Tools for Xcode Developer

裡面感覺包含了一些開發會用到的工具

解開後把這些工具放到一個目錄內

可以看到這次要用到的 Package Maker

新建一個專案

設定 Title 名稱

選取要不要由 User Home 目錄開始安裝

另外透過快速鍵 Command + i 可以設定安裝最小 OS 版本需求

.

而左邊 Contents 區域則是直接把檔案拉進去就可以再進階設定了

點選文件

可以指定目標位置(點選齒輪可以選擇絕對或是相對位置)

後面還有權限以及安裝前後所需要另外執行的 Script

都沒問題之後,點選 Build and Run 就開始封裝囉

基本上產出會是 .pkg / .mpkg 檔案(看怎麼設定)

.

Code Signing 的部分則是用 Command Line 的模式說明

首先應該會有兩個檔案-憑證與安裝檔

(憑證的部份應該是在 Keychain 裡面)

.

Code Signing 前需要先解除 keychain 鎖定

security unlock-keychain -p mySecretPassword…

再執行 Signing

語法:PackageMaker –sign 檔案路徑 –certificate “憑證名稱”

ex.

$ /Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker --sign ~/Desktop/Install.pkg --certificate "Jonny Li"

憑證名稱就是在 Keychain 裡面的完整名稱

.

執行指令之後,會跳出一個 Confirm 視窗,點選 Allow

如果沒問題的話

就這樣結束了

.

驗證的方法則是

sudo spctl --assess --verbose=4 --type install Install.pkg

正確的話,會顯示類似

Install.pkg: accepted

source=Apple Installer

否則,如使用測試憑證、憑證過期或不正確之類的,可能會顯示

Install.pkg: rejected

.

ps. 這邊之前有 Sign 失敗過的原因是,請勿使用 Telnet / SSH 登入作業,如為遠端電腦,請使用VNC


Viewing all articles
Browse latest Browse all 79

Trending Articles