文章目錄
在不同 mac 上共享 .NET 開發用憑證
最近團隊為了避免部份功能在開發階段因為憑證問題無法正常運作而造成開發與實際的 production code 有所差異,因此想要逐步套用 https everywhere 的機制。 在 local 開發環境,使用自簽憑證就很方便了,但與其要教會所有人自簽憑證所以就想讓大家在執行團隊環境設定時一併安裝統一的憑證,以免去可能遇到的異常狀況,所以今天就來記錄一下如何在不同的 mac 上共享 .NET 開發用憑證。
基本環境說明
- macOS Sonoma 14.3.1 (Apple M2 Pro)
- .NET 8.0.101
設定方式
使用 .NET SDK 產生憑證
語法
dotnet dev-certs https [-c|--check] [--clean] [-ep|--export-path <PATH>] [--format] [-i|--import] [-np|--no-password] [-p|--password] [-q|--quiet] [-t|--trust] [-v|--verbose] [--version]
範例
dotnet dev-certs https -ep test.pfx -p pass.123
嘗試直接使用 .NET SDK 匯入憑證失敗
匯入語法
dotnet dev-certs https --clean -i ~/Downloads/test.pfx -p pass.123
錯誤訊息
The provided certificate file '/Users/yowko.tsai/Downloads/test.pfx' is not a valid PFX file or the password is incorrect.
錯誤截圖
將共享憑證匯入到 mac
語法
security import {pfx 檔案位置} -k ~/Library/Keychains/login.keychain-db -t cert -f pkcs12 -P {pfx 密碼} -A
範例
security import ~/Downloads/test.pfx -k ~/Library/Keychains/login.keychain-db -t cert -f pkcs12 -P pass.123 -A
.NET SDK 信任憑證
dotnet dev-certs https --trust
確認憑證
dotnet dev-certs https --check
心得
- 憑證效期只能有一年
.NET 5 開始可以使用 pem,但 .NET SDK 匯入還是只支援 pfx,但實際上我也沒有直接使用 .NET SDK 成功匯入過
參考資訊
文章作者 Yowko Tsai
上次更新 2024-04-02
授權合約
本部落格 (Yowko's Notes) 所有的文章內容(包含圖片),任何轉載行為,必須通知並獲本部落格作者 (Yowko Tsai) 的同意始得轉載,且轉載皆須註明出處與作者。
Yowko's Notes 由 Yowko Tsai 製作,以創用CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款 釋出。