炸了! macOS 26 钥匙串突然无法访问,几乎所有软件的登录、激活、认证状态瞬间归零
isbase:
Tahoe 26.5.2 的 login keychain 突然解不开,重启后系统新建了 login_renamed_1。
设备是 Mac mini 。故障发生时运行 macOS Tahoe 26.5.2 ( 25F84 ),之后才升级到 26.6.1 。
想问问有没有人遇到过类似情况:Mac 登录密码没有改,传统的 `login.keychain-db` 却突然无法解锁。重启后,系统把旧库改名为 `login_renamed_1.keychain-db`,又新建了一个空的 `login`。
## 故障表现
最开始是几个看似无关的问题一起出现:
- 自签名开发版 App 无法打开,重新签名时报 `errSecInternalComponent`。
- 重启后,系统要求重新登录 Apple ID,并通过另一台设备批准 iCloud 端到端加密数据。
- Chrome 的网站登录态几乎全部丢失,部分扩展提示损坏。
- 「钥匙串访问」里的默认 `login` 几乎是空的。旧内容被移到 Custom Keychains 下,名称变成 `login_renamed_1`。很多应用反复要求输入密码,但当前 Mac 登录密码和空密码都无法解锁。
我检查了本机账户策略。账户密码最后修改时间仍是几年前,屏幕解锁和用户 keybag 也一直成功。出问题的是传统 login keychain,而不是 Mac 账户密码。
系统自带「密码」 App 中的 iCloud 密码仍然可见,因为它使用另一套 Data Protection keychain。这不能说明旧的 `login.keychain-db` 正常。
## 时间线
故障前一晚,我通过 SSH 执行过两次:
```sh
security unlock-keychain ~/Library/Keychains/login.keychain-db
```
命令没有带 `-p`,密码通过交互输入。当时看起来没有报错,其中一次可能还输入了错误密码。后来查看日志,Tahoe 似乎可能先使用 Data Protection 中缓存的间接解锁材料,所以命令成功不一定代表输入的密码真正解开了传统数据库。
这件事发生在明确故障的大约 16 小时前。我怀疑它有关,但没有当时的 rekey 或关联日志,不能确认它是触发原因。
第二天下午,机器空闲时,`securityd` 已开始反复出现:
```text
CSSMERR_CSP_INVALID_DATA
MacOS error: -25337
```
当晚解锁屏幕后,账户认证成功,但 `loginwindow` 解锁旧 login keychain 时,缓存的间接材料、当前密码和重新派生的材料全部失败,最后报告:
```text
KCLogin failed with -2147413984
security error -25293
```
同一时间,用户 keybag 解锁成功。因此这里的 `-25293` 不是登录密码错误,而是旧 login keychain 的认证被拒。
之后手动运行 `security unlock-keychain` 也失败,`codesign` 继续报 `errSecInternalComponent`。
升级到 26.6.1 并重启后,系统再次尝试解锁旧库,仍然失败。随后日志明确显示:
```text
Keychain could not be unlocked, local account, moving login keychain to the side and creating a replacement
```
系统于是把旧库改名为 `login_renamed_1.keychain-db`,并创建了新的空 `login.keychain-db`。升级和重启只是让系统执行了替换,不是故障起点,因为升级前已经出现了完整的解锁失败。
## 目前能确认的情况
- Mac 账户密码没有改,屏幕和用户 keybag 都能正常解锁。
- 没发现磁盘 I/O 、校验、加密结构错误或 kernel panic 。
- 旧库文件仍在,能枚举出 1500 多条密码、私钥和证书记录,并非被清空。
- 现有解锁材料无法解开旧库的私有数据,问题应在认证层。
- 目前只能怀疑 Tahoe 的 Data Protection 间接解锁材料与传统 login keychain 失配,无法确认具体触发点。
想请教两个问题:
1. 有没有人在 Tahoe 上遇到过账户密码正确,但 `login` 突然报 `-25293`,重启后出现 `login_renamed_1`?
2. 如果故障前也通过 SSH 执行过 `security unlock-keychain`,是否见过类似结果?
可供搜索的关键词:`CSSMERR_CSP_INVALID_DATA`、`CSSMERR_DL_OPERATION_AUTH_DENIED`、`-25293`、`errSecInternalComponent`、`ProtectLoginKeychainWithDP`、`generateDerivedEntropy`、`login_renamed_1.keychain-db`。
---
原文链接:[点击查看](https://www.v2ex.com/t/1234067)
Tahoe 26.5.2 的 login keychain 突然解不开,重启后系统新建了 login_renamed_1。
设备是 Mac mini 。故障发生时运行 macOS Tahoe 26.5.2 ( 25F84 ),之后才升级到 26.6.1 。
想问问有没有人遇到过类似情况:Mac 登录密码没有改,传统的 `login.keychain-db` 却突然无法解锁。重启后,系统把旧库改名为 `login_renamed_1.keychain-db`,又新建了一个空的 `login`。
## 故障表现
最开始是几个看似无关的问题一起出现:
- 自签名开发版 App 无法打开,重新签名时报 `errSecInternalComponent`。
- 重启后,系统要求重新登录 Apple ID,并通过另一台设备批准 iCloud 端到端加密数据。
- Chrome 的网站登录态几乎全部丢失,部分扩展提示损坏。
- 「钥匙串访问」里的默认 `login` 几乎是空的。旧内容被移到 Custom Keychains 下,名称变成 `login_renamed_1`。很多应用反复要求输入密码,但当前 Mac 登录密码和空密码都无法解锁。
我检查了本机账户策略。账户密码最后修改时间仍是几年前,屏幕解锁和用户 keybag 也一直成功。出问题的是传统 login keychain,而不是 Mac 账户密码。
系统自带「密码」 App 中的 iCloud 密码仍然可见,因为它使用另一套 Data Protection keychain。这不能说明旧的 `login.keychain-db` 正常。
## 时间线
故障前一晚,我通过 SSH 执行过两次:
```sh
security unlock-keychain ~/Library/Keychains/login.keychain-db
```
命令没有带 `-p`,密码通过交互输入。当时看起来没有报错,其中一次可能还输入了错误密码。后来查看日志,Tahoe 似乎可能先使用 Data Protection 中缓存的间接解锁材料,所以命令成功不一定代表输入的密码真正解开了传统数据库。
这件事发生在明确故障的大约 16 小时前。我怀疑它有关,但没有当时的 rekey 或关联日志,不能确认它是触发原因。
第二天下午,机器空闲时,`securityd` 已开始反复出现:
```text
CSSMERR_CSP_INVALID_DATA
MacOS error: -25337
```
当晚解锁屏幕后,账户认证成功,但 `loginwindow` 解锁旧 login keychain 时,缓存的间接材料、当前密码和重新派生的材料全部失败,最后报告:
```text
KCLogin failed with -2147413984
security error -25293
```
同一时间,用户 keybag 解锁成功。因此这里的 `-25293` 不是登录密码错误,而是旧 login keychain 的认证被拒。
之后手动运行 `security unlock-keychain` 也失败,`codesign` 继续报 `errSecInternalComponent`。
升级到 26.6.1 并重启后,系统再次尝试解锁旧库,仍然失败。随后日志明确显示:
```text
Keychain could not be unlocked, local account, moving login keychain to the side and creating a replacement
```
系统于是把旧库改名为 `login_renamed_1.keychain-db`,并创建了新的空 `login.keychain-db`。升级和重启只是让系统执行了替换,不是故障起点,因为升级前已经出现了完整的解锁失败。
## 目前能确认的情况
- Mac 账户密码没有改,屏幕和用户 keybag 都能正常解锁。
- 没发现磁盘 I/O 、校验、加密结构错误或 kernel panic 。
- 旧库文件仍在,能枚举出 1500 多条密码、私钥和证书记录,并非被清空。
- 现有解锁材料无法解开旧库的私有数据,问题应在认证层。
- 目前只能怀疑 Tahoe 的 Data Protection 间接解锁材料与传统 login keychain 失配,无法确认具体触发点。
想请教两个问题:
1. 有没有人在 Tahoe 上遇到过账户密码正确,但 `login` 突然报 `-25293`,重启后出现 `login_renamed_1`?
2. 如果故障前也通过 SSH 执行过 `security unlock-keychain`,是否见过类似结果?
可供搜索的关键词:`CSSMERR_CSP_INVALID_DATA`、`CSSMERR_DL_OPERATION_AUTH_DENIED`、`-25293`、`errSecInternalComponent`、`ProtectLoginKeychainWithDP`、`generateDerivedEntropy`、`login_renamed_1.keychain-db`。
---
原文链接:[点击查看](https://www.v2ex.com/t/1234067)
· 0 个赞
· 0 个赞