更新于2024/12/04
2024/04/14
弃用PIV,增加GIDS
2024/12/04
增加WebAuthn下激活CTAP1/U2F功能的文档链接,修正死链
材料来源:
- Javacard一张(J3R180 Javacard) 约38¥
- 笔记本内置的读卡器 (Taobao上购买的的USB CCID协议的读卡器也可使用。参考价位50¥)
功能:
- OpenPGP(SmartPGP 3.4)
- GIDS(Windows智能卡登录/Bitlocker解锁)
- Webauthn(FIDO2/U2F)
1.准备
下载Global Platform (gp.exe)
https://javacard.pro/globalplatform
Javacard的包管理器
2.OpenPGP
客户端:
Javacard Applet:
参考教程:
基于SmartPGP低成本DIY OpenPGP卡(YubiKey替代品) | 飞翔的种子
使用预编译的CAP文件,无需编译可直接使用。
设置厂商/卡号:
https://github.com/github-af/SmartPGP/issues/52#issuecomment-1849056997
3.GIDS
Javacard Applet:
3.PIV(弃用)
不好使
PIV在Windows下不能直接写入证书,且会顶掉GIDS。
Javacard Applet:
对于J3R180
,建议使用REePAxaD
变种。
PIV_SUPPORT_3DES | D | 启用 3DES admin keys 支持 |
PIV_SUPPORT_AES | a | 启用 AES admin keys 支持 |
PIV_SUPPORT_RSA | R | 启用 RSA |
PIV_SUPPORT_EC | E | 启用 ECDSA 和 ECDH |
PIV_SUPPORT_ECCP384 | e | 启用 ECDSA/ECDH 的 P-384 支持 |
PIV_USE_EC_PRECOMPHASH | P | 使用 JC3.0.4+ API 允许标准化的 PIV ECDSA (而不是卡上哈希扩展 , 后者将被禁用) |
PIV_STRICT_CONTACTLESS | S | 禁止大多数槽位和密钥从非接触式(NFC)使用 (严格遵守 PIV 规范) |
YKPIV_ATTESTATION | A | 启用 YubicoPIV风味的证书槽位和命令 |
APPLET_EXTLEN | x | 启用支持扩展APDUs. 有些卡与这一功能不兼容 (如 ACOSJ) |
APPLET_LOW_TRANSIENT | L | 通过缩小缓存来减少所需的临时内存。减小最大证书大小并可能影响性能。不能与 YKPIV_ATTESTATION 同时使用。 |
4.WebAuthn
Javacard Applet:
Google Service兼容性修正(CTAP1/U2F功能激活)
FIDO2Applet/docs/certs.md at main · BryanJacobs/FIDO2Applet
5.总结
和400~500¥的Yubikey和100~200¥的CanoKey比起来,Javacard显然更具性价比。
你的笔记本为啥那么牛,有智能卡读卡器。
买商务本导致的(