使用指南
适用于 SSem TouchOTP 1.0.1
App 界面提供韩语和英语。在设置为其他语言(包括中文)的 Mac 上,App 会以英语显示。
1. 安装
- 从 Mac App Store 购买并安装 SSem TouchOTP(获取)。更新也由 App Store 自动安装。
- 从“应用程序”文件夹或启动台打开后,锁形图标会出现在菜单栏中,而不是程序坞中。点击此图标即可打开面板。
如果您正在使用以前从本网站下载的 DMG 版本,安装 App Store 版本后会替换“应用程序”文件夹中的 App。保险库和账户保持不变。
所需条件:macOS 14 或更高版本、Touch ID(内建,或连接到 Apple 芯片 Mac 的带有 Touch ID 的 Magic Keyboard)、macOS 登录密码、至少一个已录入的指纹。
2. 首次设置
- 点击菜单栏图标,然后点击 Create Vault with Touch ID。
- 在 Touch ID 窗口中验证一次指纹后,保险库就会创建并立即打开。
保险库是存放账户信息的加密文件。它的密钥位于这台 Mac 的 Secure Enclave 中,只能配合当前已录入的指纹使用。Touch ID 窗口中没有输入密码的按钮——我们特意堵住了用密码打开保险库的途径。
3. 添加账户
点击面板底部的 Add Account,有三种添加方式。请先在相应服务(例如 GitHub、Google)的两步验证设置页面中显示 QR 码或密钥。
QR Image
- 粘贴:按 ⌃⇧⌘4 将屏幕上的 QR 码区域截取到剪贴板,然后在 QR Image 标签页中粘贴。
- 文件:点击面板中的 Choose File in Window…,即可在单独的窗口中选择图片文件。也可以将图片文件拖放到该窗口中。
- 支持读取 PNG、JPEG、HEIC、TIFF、GIF、BMP 图片。QR 码仅在这台 Mac 上识别,图片不会被保存。
在预览中确认发行方和账户名称后,点击 Add。
QR 码图片中包含密钥。添加账户后,请删除截屏文件。粘贴的图片在读取后会立即从这台 Mac 的剪贴板中清除;但如果您使用剪贴板历史记录 App,也请从其记录中删除。
Paste Address
粘贴以 otpauth:// 开头的地址后,会显示不含密钥的预览。添加后,如果剪贴板中仍留有该地址,App 会将其清除。
Manual
输入发行方、账户名称和密钥(Base32)。如有需要,可以更改类型(基于时间的 TOTP 或基于计数器的 HOTP)、算法(SHA-1、SHA-256、SHA-512)、位数(6–8)和周期(15–120 秒)。密钥输入框是安全输入框,输入的字符会被隐藏。
4. 从 Google Authenticator 迁移
- 在手机上的 Google Authenticator 中打开菜单 › Transfer accounts › Export accounts,然后选择要迁移的账户。
- 将屏幕上显示的 QR 码传到 Mac 上。例如,用另一台设备拍照后通过隔空投送发送,或将手机截屏发送到 Mac(有些手机可能禁止对此界面截屏)。
- 在 SSem TouchOTP 的 Add Account › QR Image 中粘贴图片,或在窗口中以文件方式添加。
- 如果账户较多、QR 码有多张,请全部添加。App 会显示类似“1 and 2 of 3”的进度。
迁移完成后,请删除手机和 Mac 上留存的 QR 码照片。Google Authenticator 中的账户仍会保留,是否继续在手机上使用由您自行决定。
5. 使用验证码
- 点击账户行即可复制验证码。复制的验证码会在 30 秒后自动清除,并带有标记,不会传到其他设备(通用剪贴板)或剪贴板历史记录 App。
- 右侧的圆环表示距离验证码更新的剩余秒数。剩余 10 秒及以下时变为橙色,5 秒及以下时变为红色。
- 对于基于计数器(HOTP)的账户,在尚未显示验证码时点击账户行、点击 ↻ 按钮,或在右键菜单中选择 Generate and Copy Next Code,都会生成新的验证码并使计数器加 1。再次点击已显示的验证码只会复制同一个验证码,计数器不变。关闭面板后验证码会重新隐藏,因此下一次点击会生成新的验证码。请仅在需要时点击。
- 右键点击账户,可以看到 Copy Code 和 Delete…。删除的账户无法恢复。
6. 锁定
- 如果在设定的时间(默认 1 分钟)内没有任何操作,App 会自动锁定。
- 锁定屏幕、屏幕保护程序启动、睡眠或切换用户时,会立即锁定。
- 点击面板顶部的锁形按钮或 Settings › Lock Now,即可立即锁定。
- 在锁定状态下打开面板会弹出 Touch ID 窗口。如果您取消了它,请点击 Unlock with Touch ID。
- 锁定时,尚未添加的 QR 码导入内容和剪贴板中的验证码也会一并清除。
7. 备份与恢复
添加或删除指纹后,保险库将无法再打开。每次添加账户时,请重新制作备份。如果账户有变动却没有备份,列表上方会显示提醒。
制作备份
- 点击 Settings › Export or Import Backup…。备份界面会在单独的窗口中打开。
- 建议使用 Generate Random Passphrase。点击生成的密码短语即可复制(30 秒后自动清除),请把它写在纸上或记在密码管理器中。自行设定时至少需要 12 个字符,重复或连续字符之类过于简单的短语会被拒绝。
- 在确认栏中输入相同的密码短语,点击 Confirm with Fingerprint and Export…,然后选择保存位置。
备份文件(.touchotp)使用由密码短语派生的密钥(PBKDF2-SHA256,迭代 60 万次)和 AES-GCM 加密。请同时在这台 Mac 以外的安全位置(如外置磁盘或 U 盘)保存一份。
导入备份
- 在同一备份界面中,用 Choose Backup File… 选择文件,然后输入密码短语。
- 点击 Import 后,备份中的账户会添加到当前保险库中。已存在的账户(密钥相同)会被跳过,现有账户的设置和计数器不会被更改。
如果忘记密码短语,将无法打开备份。我们也无法帮您恢复。
8. 更改指纹后
添加或删除指纹后,macOS 会使安全密钥失效,App 中会显示“The vault can’t be opened”界面。此界面不会删除任何内容,请放心。
- 先点击 Try Again 再确认一次。如果确实更改过指纹,仍然会无法打开。
- 点击 Reset…。原有的保险库文件不会被删除,而是保留在旁边。
- 通过 Create Vault with Touch ID 创建新的保险库。
- 在 Settings › Export or Import Backup… 中导入备份文件。
如果界面显示“The vault file is missing or unreadable, but the security key is fine”,则不是指纹的问题。您可以把文件放回原处后点击 Try Again,或选择 Start an Empty Vault with the Same Key…。
如果解锁后看到“An older copy of the vault file was opened”警告,说明保险库文件被替换成了较早的副本(例如通过时间机器恢复)。如果不是您自己恢复的,可能有人替换了文件,请检查账户列表。如果没有问题,请点击 Keep This State。
9. 迁移到新 Mac
保险库文件绑定在创建它的那台 Mac 的 Secure Enclave 上,即使复制到其他 Mac 也无法打开。请在旧 Mac 上制作备份,在新 Mac 上安装 App 并创建保险库,然后导入该备份。
10. 设置
- Language:从 Use System Setting、한국어、English 中选择。更改后点击 Restart Now 即可生效(重新启动后 App 处于锁定状态)。
- Auto-Lock:选择无操作多长时间后锁定(30 秒、1 分钟、2 分钟、5 分钟)。
- Screen Capture:开启 Hide from Screenshots, Recording and Screen Sharing 后,本 App 的窗口不会出现在屏幕捕捉中(默认关闭)。通过屏幕共享远程操作这台 Mac 时,面板也不会显示。
- Backup:显示是否有最新的备份,并可打开备份界面。
SSem TouchOTP 同一时间只能运行一个。如果它已在运行,而您又打开了其他位置的 App,新打开的 App 会显示提示后退出。这是为了防止两个副本同时运行并覆盖同一个保险库。
11. 更新
更新由 Mac App Store 负责。App 本身不连接互联网,因此不会自行检查新版本。更新后保险库和账户保持不变。
12. 卸载
- 如有需要,请先制作备份。
- 退出 App,然后将 SSem TouchOTP 从“应用程序”文件夹移到废纸篓。
- 如果还要删除账户数据,请在访达中按 ⌘⇧G,然后删除
~/Library/Containers/com.levelupsoft.touchotp文件夹。
这台 Mac 的钥匙串中会留下 Secure Enclave 密钥和封存的保险库密钥(含版本号)。没有保险库文件,仅凭这些无法恢复任何账户信息。重新安装并创建新保险库时,App 会询问是否替换这些项目。
如有更多疑问,请查看支持页面。