Apple 想象中的世界是太阳月亮星星都听他指挥,但现实并不那么顺利。曾经令第三方密码管理器颤抖的 iCloud 钥匙串,最终也只是差强人意,因为它过于追求完美,追求自动填充(Auto Fill),但实际情况是不少国内网站——尤其是政务网站和企业内部网站——根本不知自动填充为何物。而当你耸耸肩膀,思量着大不了手动检索、插入密码时,噩梦开始了:
- 你点击右键,展开上下文菜单;
- 你点击自动填充(Auto Fill);
- 你愣了一下,然后在联系(Contact…)和密码(Passwords…)中选择后者;
- 然后你输入密码;
- 接着你看到一个搜索界面,需要点一下才能激活搜索框;
- 紧接着你发现输入法被 macOS 贴心地改成了英文,你只好手动切回去;
- 如果你比较老派,可能发现根本没找到密码,然后你意识到不上传密码到 iCloud 的话,用户与狗不享受任何权益(或许开了 iCloud 的狗可以);
- ……
最终,你发现,在你开始第一步的那一刻,密码框里的光标就已经自动消失,方才的一切都是徒劳,根本没有任何东西被粘到密码框里。
既然无法指望 Apple,我又不相信第三方密码管理器,那么剩下的道路就很明确了:尝试自动化工具。恰好我常用的自动化工具 Keyboard Maestro 有个钥匙串存取模块,而其本质只是打包了一段系统内置的命令,并未植入奇怪的插件,理应干净、安全(只要你信得过开发者的人品,我敢信)。稍加改动后,我设计了一套更适合国内环境的密码插入方案。
>>Keyboard Maestro 动作下载(请阅读本文并设置妥当)<<
其实,Keyboard Maestro 早已配备调用系统钥匙串密码的模块,Keyboard Maestro 官方也发布过示例动作,但有两件事横亘在用户面前:第一,你的初次尝试基本会失败;第二,如果你碰巧成功了,可能会怀疑其安全性。
让我们回到钥匙串的工作机制,这两个问题将被同时解决。在你读到本文的那一刻,除了极少数多年未升级系统的读者以及更加稀有的顶尖技术人员,基本上,你的本地密码数据已经被偷偷、后台、强制上传到 iCloud 了——不用惊讶,本文也不讨论此事——此时如果你直接使用 Keyboard Maestro 的内置密码模块,结局已定:失败,无法获取任何东西。原因在于,Keyboard Maestro 只能获取通用密码(Generic Passwords),而碰不到 iCloud 里的东西。
理论上,本地的账户密码副本理应不受影响,但 iCloud 的机制完全无法理解(堪比胜过电网、黑洞或官僚机构),我不知道为何本地副本也无法读取,不过我可以庆幸,理解能力达不到 Apple 期许的人应该不、止、我、一、个。
退一万步,我还可以手动创建一个本地通用密码,而需要插入密码的网站,本就只有那几个固定的刺头,整个工程本就是修补性质的,不必担心工作量太大。熟悉钥匙串或其命令行交互的读者可自行操作,不熟的可以使用 Keyboard Maestro 自带的 Set Keychain Password 模块,填好名称和密码,运行一下就能创建一个本地通用密码。注意,此项仅有密码而没有账户名,账户尚需手动输入,但最难记、难输的本就是密码。
备妥密码后,即可用 Keyboard Maestro 正常取用。无论存入还是取出,Keyboard Maestro 模块的底层都是系统内置的密码命令,第一次使用时还会询
