日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Mac Electron 应用的签名(signature)和公证(notarization)

發布時間:2023/12/15 综合教程 50 生活家
生活随笔 收集整理的這篇文章主要介紹了 Mac Electron 应用的签名(signature)和公证(notarization) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

在MacOS 10.15之前,應用如果沒有簽名,那么首次打開時就會彈出這種“惡意軟件”的提示框。

這時只要應用簽名了,就不會彈這個框。

但在MacOS 10.14.5之后,應用如果沒有公證(簡單說就是將安裝包上傳到Apple審查),那么就會彈出更嚴重的“惡意軟件”提示框。

這時就需要在應用簽名之后,再進行公證(notarize app)。

簽名(signature)

簽名的步驟,關鍵是生成一個簽名證書,然后用這個證書來簽名應用。

PS:開發者賬號是必不可少的,這一步驟就不說了。

1、創建一個CertificateSigningRequest.certSigningRequest文件。

填必需的信息

這樣就生成一個CertificateSigningRequest.certSigningRequest文件了。

2、生成Developer ID Application證書。

(1)、登陸 https://developer.apple.com/account/resources/certificates/add

(2)、點擊Certificates,選擇添加證書。

(3)、選擇 Developer ID Application 類型的證書。

(4)、導入第一步生成的CertificateSigningRequest.certSigningRequest文件,導入完畢后就可以下載證書了。

(5)、developerID_application.cer 下載后,雙擊導入鑰匙串。

3、設置環境變量。

你導入的證書,默認的訪問權限是“允許訪問之前確認”。

這時你需要導出一個p12文件,配置到環境變量,這樣打包的工具才有權限訪問到這個證書。

導出方式:

環境變量:

export CSC_LINK=‘你的p12文件路徑'
export CSC_KEY_PASSWORD=‘你創建p12文件的密碼’

PS:當然,如果你想偷懶不導出p12文件、不設環境變量,也可以將訪問控制選擇“允許所有應用程序訪問此項目”,只不過這樣證書就可能被濫用。

4、打包簽名。

如果你是打Electron應用,它的electron-builder工具會自動尋找鑰匙串里的 Developer ID Application 證書,并進行打包簽名。

公證(notarization)

對于 Electron 應用,它有electron-notarize的工具來做公證。但遺憾的是,我使用的時候出現了各種各樣的報錯,相關GitHub issue上也發現有人出現跟我類似的問題,不過沒有明確的解決辦法。

折騰半天,決定用原始的辦法來解決——命令行工具。

一句命令

xcrun altool --notarize-app --primary-bundle-id “com.xxx.xxx" --username “your developer appleid" --password “app-password" --asc-provider "ProviderShortname" -t osx --file xxx.dmg

primary-bundle-id: 自己app的bundle id。

username:蘋果開發者ID。

password:應用專用密碼。(登錄appleid.apple.com,然后找到創建app password的地方,創建一個應用專用密碼,這樣可以避免暴露真實的密碼。)

asc-provider:證書提供者。查詢命令如下:

xcrun altool --list-providers -u "apple id" -p "app password”

公證成功是這樣的

No errors uploading 'xxx.xxx'.
RequestUUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

顯示所有上傳到蘋果的包

xcrun altool --notarization-history 0 -u "appid" -p "app_password"

查單個記錄。里面有日志,公證失敗可查看

xcrun altool --notarization-info bfd6682e-49bc-4e82-ba8f-cdf0e8668502 -u "appid" -p "app_password"

總結

當我做完上面的步驟,安裝包在其他電腦安裝時都不會報“惡意軟件”了,不過看了網上資料還有其他步驟要做,這個以后再確認了。

參考文獻

1、https://github.com/electron/electron-notarize

2、https://blog.csdn.net/ftpleopard/article/details/102721138

3、https://blog.csdn.net/simplehouse/article/details/100531116

4、https://www.cnblogs.com/mmykdbc/p/11468908.html

總結

以上是生活随笔為你收集整理的Mac Electron 应用的签名(signature)和公证(notarization)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。