惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
博客园 - 聂微东
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件
Stack Overflow Blog
Stack Overflow Blog
美团技术团队
博客园_首页
T
Tailwind CSS Blog
博客园 - 三生石上(FineUI控件)
B
Blog
D
DataBreaches.Net
腾讯CDC
C
Check Point Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
U
Unit 42
月光博客
月光博客
V
V2EX
Vercel News
Vercel News
T
The Blog of Author Tim Ferriss
The Cloudflare Blog
博客园 - 叶小钗
Y
Y Combinator Blog

GoodBoyboy 's Blog|惬意小屋-点滴记忆

嘉立创牛逼,免费的总裁卡到了 时间过得蛮快的 撒谎撒多了,别把自己都骗了 Fedora LUKS2设置TPM2+PIN与FIDO2解锁 解决天选三AX210在fedora 44/Ubuntu 26.04上睡眠后恢复失败的问题 新的博客评论系统正式启动 博客评论数据已全部完成迁移 评论系统即将更换 在WSL中使用Canokey智能卡进行Git Commit签名 博客评论系统的一些设计 打算做个博客评论系统 开了一个游泳馆的月卡 今天游泳累炸了 回家吵的第一场架 新设计了一个Astro主题 Cap,一个基于PoW的自托管验证码系统 公益服务迁移通知 一种基于argon2id算法与shamir算法的内存PoW(工作量证明)解密游戏 记忆里的屋子(一) Ubuntu 26.04 Btrfs+LUKS2安装 主域名服务不稳定通知 腾讯元宝客户端实习二面凉经 腾讯元宝客户端实习一面面经 对越来越多AI博文的看法 GoodBoyboy Blog、Talk联动成功 只有失去了才会懂得珍惜,但幸好我还没有失去 滴滴Android客户端一面凉经 GoodBoyboy 's Talk上线! Easy Drop——一个基于Gin开发的高性能、轻量级说说平台 Perfect Pic —— 一个基于 Gin 开发的高性能、轻量级图床
Canokey导入S/MIME邮箱证书并使用Thunderbird发送邮件
GoodBoyboy · 2025-12-24 · via GoodBoyboy 's Blog|惬意小屋-点滴记忆

前期准备

Tips: 需要安装1.2.4以及以下的版本,高版本不支持Canokey(或者使用Canokey自家的ckman也行)

S/MIME邮箱证书可以看我上一篇文章(1.90$申请 WISeID S/MIME 邮箱证书

导入证书

目前Canokey支持以下几种算法的证书

  • RSA2048
  • NIST P-256
  • NIST P-384

对于固件版本3.0.0以上的Canokey(CanoKey Canary),还支持以下算法的证书

  • RSA3072
  • RSA4096
  • secp256k1
  • Ed25519
  • X25519
  • SM2

Tips: CanoKey 固件版本 3.0.0 仅支持使用 Ed25519 算法对 32 字节数据做签名,仅支持使用内部生成的 X25519 密钥。

安装好ykman后,连接Canokey,进入终端

输入命令

1
ykman -r canokey info

应该能够看到智能卡的相关信息

输入命令

1
ykman -r canokey piv info

应该能看到PIV的相关信息

然后CanoKey一般有4个可用的插槽:

  • 9A:PIV Authentication
  • 9E:Card Authentication
  • 9C:Digital Signature
  • 9D:Key Management

从固件版本 2.0.0 开始,CanoKey 还支持82、83插槽

固件版本 3.0.0 开始,好像还支持Card Capability ContainerCard Holder Unique IdentifierPrinted Information,有邪修玩法用来存VeraCrypt的密钥

需要注意的是,9E插槽的默认PIN策略是不验证

不过这都无所谓,可以通过--pin-policy来设置,具体可以看ykman的命令帮助来使用

这里使用的是9c插槽

首先是导入私钥

Tips: Canokey默认的管理密钥是:010203040506070801020304050607080102030405060708,如果修改了管理密钥需要加上-m参数传入管理密钥

1
ykman -r canokey piv keys import 9c <私钥文件路径>

然后是导入公钥证书

1
ykman -r canokey piv certificates import -v 9c <公钥文件路径>

这里会提示输入PIN,输入PIV的PIN即可,这里的-v参数用于验证证书是否匹配导入的私钥,可有可无

启动Thunderbird,找到端到端加密,点击S/MIME安全设备按钮,然后点击加载按钮,选择浏览按钮

1

找到你安装OpenSC的地方,OpenSC/pkcs11/该目录下有个opensc-pkcs11.dll,选择即可。

正常加载模块后,点击刚刚添加的模块,模块下面有个canokey设备,选择后点击登录,会要求输入PIN

2

登录完成返回到端到端加密页面,点击个人数字签名证书旁边的选择按钮,一般来说会自动找到符合条件的证书,选择后可以点击旁边的测试按钮

如果测试提示颁发者无效,说明可能是缺少中间证书,点击管理S/MIME证书按钮,选择证书颁发机构,导入你的颁发机构的中间证书即可。

参考

https://docs.canokeys.org/zh-hans/userguide/piv/

https://thinkalone.win/canokey-canary.html

https://www.liups.net/2025/10/s-mime-证书签名加密电子邮件/