簡體   English   中英

在 Mac 上使用 codesign 實用程序時是否默認啟用時間戳?

[英]Is time stamping enabled by default when using codesign utility on a mac?

我正在使用 codesign 實用程序在 mac 上簽署文件。 命令是: codesign --sign <IDENTITY> --keychain <KEYCHAIN_PATH>

當我驗證我的簽名有效負載時,我會看到以下字段:

Format=Mach-O thin (x86_64)
Hash type=sha256 size=32
CandidateCDHash sha256=
Hash choices=
CDHash=
Signature size=
Authority=Developer ID Application: <Signing Identity>
Authority=Developer ID Certification Authority
Authority=Apple Root CA
**Timestamp=May 6, 2020 at 1:39:04 AM**
Info.plist=
TeamIdentifier=
Sealed Resources=none

這是否意味着默認情況下有效負載帶有時間戳? 我還閱讀了 Apple 的技術說明,它在證書有效性下聲明了以下內容:

默認情況下,開發人員 ID 簽名帶有加密時間戳。 具有加密時間戳的簽名會根據簽名時間進行驗證,使用過期(在簽名時)證書進行的簽名是無效的。 前面的討論仍然適用於沒有安全時間戳的開發者 ID 簽名。

https://developer.apple.com/library/archive/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG7

我是否需要做任何特定的事情來確保啟用時間戳? 還是默認開啟?

來自https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution/resolving_common_notarization_issues

默認情況下,Xcode 在構建過程中不包含安全時間戳作為應用程序代碼簽名的一部分。 相反,它僅在存檔期間添加安全時間戳(從 Xcode 10.2 開始)和導出工作流程。

您的簽名表明您的情況是隱含的后一種情況。 您可以在代碼簽名期間顯式啟用安全時間戳:

codesign --timestamp --sign <IDENTITY> --keychain <KEYCHAIN_PATH>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM