Official App Signature
如何验证 SmallClaw.app 是 Smallsoft 正式发行的正版软件 How to Verify SmallClaw.app Is an Official Smallsoft Release
Company: Smallsoft Pty Ltd
Apple Developer Team ID: UFEVY4ES74
Target App: /Applications/SmallClaw.app
这份文档的用途 Purpose of This Document
这份文档帮助普通 Mac 用户验证自己电脑上的 SmallClaw.app 是否满足以下条件:
This document helps ordinary Mac users verify whether the SmallClaw.app on their computer meets the following conditions:
- 由 Smallsoft Pty Ltd 使用 Apple Developer ID 正式签名It is officially signed by Smallsoft Pty Ltd using an Apple Developer ID.
- 已通过 Apple notarization 公证检查It has passed Apple's notarization check.
- 当前 app 内容没有被第三方修改破坏签名The current app contents have not been modified in a way that breaks the signature.
如果你的 SmallClaw.app 不在 /Applications/SmallClaw.app,请把下面命令里的路径替换成你实际的 app 路径。
If your SmallClaw.app is not located at /Applications/SmallClaw.app, replace the path in the commands below with the actual path to your app.
打开 Terminal Open Terminal
- 打开 macOS 的 Terminal appOpen the Terminal app on macOS.
- 逐条复制下面的命令并按 EnterCopy each command below one at a time, then press Enter.
- 对照每一步的“正确结果”Compare the output with the "correct result" shown for each step.
快速判断 Quick Check
如果下面三类结果都能看到,说明这份 SmallClaw.app 是 Smallsoft Pty Ltd 正式发行、Apple 已接受、并且当前内容通过签名完整性检查:
If you can see all three categories of output below, this copy of SmallClaw.app is an official Smallsoft Pty Ltd release, accepted by Apple, and its current contents pass signature integrity checks:
Authority=Developer ID Application: Smallsoft Pty Ltd (UFEVY4ES74)
/Applications/SmallClaw.app: accepted
source=Notarized Developer ID
Processing: /Applications/SmallClaw.app
The validate action worked!1. 验证发行方是不是 Smallsoft Pty Ltd 1. Verify That the Publisher Is Smallsoft Pty Ltd
运行:Run:
codesign -dv --verbose=4 /Applications/SmallClaw.app正确结果里应该包含:The correct output should include:
Authority=Developer ID Application: Smallsoft Pty Ltd (UFEVY4ES74)
Authority=Developer ID Certification Authority
Authority=Apple Root CA这表示:This means:
SmallClaw.app是用 Apple Developer ID 签名的正式 macOS appSmallClaw.appis an official macOS app signed with an Apple Developer ID.- 签名证书属于 Smallsoft Pty LtdThe signing certificate belongs to Smallsoft Pty Ltd.
- Team ID 是 UFEVY4ES74The Team ID is UFEVY4ES74.
- 证书链最终连接到 Apple 的根证书The certificate chain ultimately connects to Apple's root certificate.
如果这里显示的公司名不是 Smallsoft Pty Ltd,或者 Team ID 不是 UFEVY4ES74,请不要运行这个 app。 If the company name shown here is not Smallsoft Pty Ltd, or the Team ID is not UFEVY4ES74, do not run this app.
2. 验证 app 内容有没有被修改 2. Verify That the App Contents Have Not Been Modified
运行:Run:
codesign --verify --deep --strict --verbose=2 /Applications/SmallClaw.app正确结果通常是:The correct output is usually:
/Applications/SmallClaw.app: valid on disk
/Applications/SmallClaw.app: satisfies its Designated Requirement
有些 macOS 版本在成功时可能只显示很少内容,或者没有明显错误信息。关键是不能出现 invalid、rejected、code object is not signed at all、a sealed resource is missing or invalid 这类错误。
Some macOS versions may show very little output, or no obvious success message, when the check succeeds. The key point is that you should not see errors such as invalid, rejected, code object is not signed at all, or a sealed resource is missing or invalid.
这一步表示 macOS 检查了 app 当前文件内容是否仍然符合原始签名要求。如果第三方修改过 app 里的程序文件、资源文件或签名结构,这一步通常会失败。 This step means macOS has checked whether the current app files still satisfy the original signing requirements. If a third party has modified the executable files, resources, or signing structure inside the app, this step will usually fail.
3. 验证 Gatekeeper 是否接受 3. Verify That Gatekeeper Accepts the App
运行:Run:
spctl --assess --type execute --verbose=4 /Applications/SmallClaw.app正确结果应该包含:The correct output should include:
/Applications/SmallClaw.app: accepted
source=Notarized Developer ID这表示 macOS Gatekeeper 接受这个 app,并确认它来自已公证的 Developer ID 发行渠道。 This means macOS Gatekeeper accepts the app and confirms that it comes from a notarized Developer ID distribution channel.
如果这里显示 rejected,请不要运行这个 app。If this step shows rejected, do not run this app.
4. 验证 notarization ticket 是否已经附在 app 上 4. Verify That the Notarization Ticket Is Stapled to the App
运行:Run:
xcrun stapler validate /Applications/SmallClaw.app正确结果应该包含:The correct output should include:
Processing: /Applications/SmallClaw.app
The validate action worked!
这表示 Apple notarization ticket 已经附在 SmallClaw.app 上。这样即使在网络不稳定或离线环境下,macOS 也更容易确认这个 app 已通过 Apple 公证。
This means the Apple notarization ticket has been stapled to SmallClaw.app. This makes it easier for macOS to confirm that the app has passed Apple notarization, even when the network is unstable or offline.
如果验证失败 If Verification Fails
如果任何一步失败,建议这样处理:If any step fails, we recommend the following:
- 不要继续打开这个 appDo not continue opening this app.
- 删除当前这份
SmallClaw.appDelete the current copy ofSmallClaw.app. - 从 Smallsoft 官方渠道重新下载Download it again from an official Smallsoft channel.
- 重新执行上面的验证命令Run the verification commands above again.
常见失败原因包括:Common causes of failure include:
- app 路径写错了The app path is incorrect.
- app 下载不完整The app download is incomplete.
- app 被第三方重新打包或修改过The app has been repackaged or modified by a third party.
- 下载来源不是 Smallsoft 官方渠道The download source is not an official Smallsoft channel.
- macOS 系统策略或网络状态影响了 Gatekeeper 查询macOS system policy or network conditions affected the Gatekeeper check.
这些验证能证明什么 What These Checks Can Prove
这些命令可以证明:These commands can prove that:
- 这份 app 的 Apple Developer ID 签名属于 Smallsoft Pty LtdThe Apple Developer ID signature on this app belongs to Smallsoft Pty Ltd.
- Team ID 是 UFEVY4ES74The Team ID is UFEVY4ES74.
- macOS Gatekeeper 接受它作为已公证的 Developer ID appmacOS Gatekeeper accepts it as a notarized Developer ID app.
- 当前 app 内容通过签名完整性验证,未被第三方随意修改The current app contents pass signature integrity verification and have not been arbitrarily modified by a third party.
这些命令不能证明:These commands cannot prove that:
- 你的 license 是否已经激活Your license has been activated.
- 当前 Mac 上的 Keychain 激活信息是否有效The Keychain activation information on the current Mac is valid.
- app 是否来自某个特定 U 盘或安装包The app came from a specific USB drive or installer package.
验证正版发行和验证激活状态是两件不同的事。正版发行主要看 Developer ID、notarization 和签名完整性;激活状态则由 SmallClaw 的 license 系统和 macOS Keychain 管理。 Verifying an official release and verifying activation status are two different things. Official release verification is based on Developer ID, notarization, and signature integrity; activation status is managed by SmallClaw's license system and macOS Keychain.