CanoKey 折腾笔记
🔑

CanoKey 折腾笔记

Created
Jan 2, 2022 12:06 AM
Edited
Jan 2, 2022 01:12 PM
Tags

前言

我是纯小白,买这玩意图一乐,所以这个笔记仅作为我记录折腾(使用)过程的一个笔记,尽量以最小白的方式写出,如有错误烦请大佬在评论区指出~

在各大网站上使用 CanoKey

这没啥好说的,直接在各大网站上添加设备,插入,抚摸,确定,结束。

在 Catalina 上折腾 OpenGPG

由于官方说无法在 Monetary 以下版本使用 CanoKey,在Catalina下输入 gpg --card-status 会提示 gpg: selecting card failed: Operation not supported by device 本来我也是准备好了升级了,直到群友说你改一下文件就可以,于是我就尝试修改文件。根据大佬在群里提供的信息
$ diff Info.plist ~/libccid_Info.plist 
<               <string>0x20A0</string>
<               <string>0x42D4</string>
<               <string>Canokey Powered by Dang Fan</string>
以及路径信息 /usr/libexec/SmartCardServices/drivers/ifd-ccid.bundle/Contents/info.plist,首先,macOS用户需要先关闭SIP,然后使用 sudo mount -uw / 来挂载根目录,于是使用sudo就可以修改上面的信息了。最好修改后再开回来SIP以防止出现安全问题噢~
然后,在plist中key为 ifdVendorID 和下面array的第一行中插入 <string>0x20A0</string>,在 ifdProductID 和下面array的第一行中插入 <string>0x42D4</string> ,在 ifdFriendlyName 和下面的第一行中插入 <string>Canokey Powered by Dang Fan</string> (据群里管理员说,这里开头是cano就可以了?)
然后保存,重启。此时再输入 gpg --card-status,已经可以正常读出canokey了!

在macOS使用OpneGPG连接SSH

参考
可能是最好的 Yubikey + GPG/SSH 智能卡教程
首先,经过了六个小时的栽坑和爬坑,我可能得开一个地图炮: 当然这也其实没什么,因为我等会要开一个更大的地图炮: 好了,绕了太多坑,就此打住。 想必地球人都知道,PGP (Pretty Good Privacy)可能是世界上最优秀的非对称加密工具,公私钥体系真正避免了对称加密会带了的密钥泄漏的问题。而且基于去中心的模型,绕过了 CA,让每个人都能接触到 Web of Trust (WOT)。而 GPG (GNU Privacy Guard)则是 PGP 的开源 GNU 实现,不要钱。 感谢 CCTV,感谢 RMS。最要感谢的,是那些精通给产品取名艺术的人,他们没有当产品经理可能是上天的旨意。 如果不清楚 PGP 是咋工作的, 维基百科 走起。当然不知道的也估计不会再看这篇文章,不谈了。 显然,这篇文章的目的是把 GPG 密钥扔到 Yubikey(或其他由人类生产的智能卡)里并且使其能够工作。从安全的角度来说,你需要三个新的子密钥,分别是: E (Encryption) 加密 S (Signing) 签署 A (Authentication) 认证 因为智能卡会丢,所以建议在电脑上生成,导出私钥离线备份好,然后扔到 Yubikey 里去。这不是多此一举,因为扔进去就出不来了。正确的 PGP 使用习惯很重要,用 Master Key 签署是一件很不好的事情。在可能的情况下,用子密钥干活,Master key 仅在子密钥过期的时候用来生成一个新的。除非特殊情况,否则不要生成有效期为 forever 的密钥。我就用的一年,正好,renew 六十次就差不多嗝屁了。 如果你不用 SSH,那你就不用生成那个认证密钥了,SE 够用。 建议所有的 Mac 用户都安装一个 GPGtools 。brew 应该也行,不知道有些包会不会缺。 Linux 用户,你是最棒的。 显然,我们该生成三对新的子密钥了。这里假设你之前已经生成了 GPG 主密钥。如果没有,自己生成一下也很简单,不谈了。 gpg --expert --edit-key [email protected] 生成签名子密钥: gpg> addkey Key is protected.

在Windows使用OpenGPG连接SSH

 
 

Loading Comments...