使用Yubikey的PIV保存自建CA签发的证书进行Bitlocker加密
前言
前几天买了一个Yubikey,需要开发用途,它可以作为X509和OpenPGP的智能卡可以说是它比较重要的作用。
同样,由于自己有PKI,因此就不用自签名证书了。慢慢折腾之路就此开始。
使用Step创建中间证书
1 | step certificate create 'Xice Encrypted Driver CA' \ |
将签发的中间证书转移到工作文件夹下,这将成为硬件加密的CA。文件路径如下
1 | CA |
签发BitLocker的证书
生产证书请求文件
密钥将直接在Yubikey(PIV)中生产,无法导出
新建blcert.txt
1 | [Version] |
在CMD中运行命令
1 | certreq –new blcert.txt blcert.req |
该命令会要求PIV的PIN,将在PIV中生产密钥,并产生证书请求文件。
使用Openssl签发证书
因为req中包含了x509证书拓展,用于个人能力实在是有限,不能从中导出拓展文件所需要的配置文件,因此在查阅了大量的资料之后决定使用Openssl的copy_extensions
方法。
copy_extensions
方法是有危险的,按道理一个合格的CA需要对自己签发的证书用途负责。
编辑文件/usr/lib/ssl/openssl.cnf
,找到copy_extensions
取消前面的井号注释,并改为copyall
。
由于需要使用openssl ca
命令,需要创建一系列的数据库文件,由于配置文件的细微差异,可能需要创建的文件并不相同,请根据报错信息自行调整。
1 | mkdir ./CA/newcerts |
签发req文件
1 | openssl ca -cert CA/EncryptedDriver.crt -keyfile CA/EncryptedDriver.key -in blcert.req -out blcert3.crt -days 36500 |
将crt文件转为cer文件
1 | openssl x509 -inform pem -in blcert.crt -outform der -out blcert.cer |
到这里,就完成了终端加密证书的签发。
安装证书到系统/PIV
1 | certreq -accept blcert.cer |
启动Bitlocker
找到一个合适的分区
选择使用智能卡
建议保存一份恢复密钥
仅加密已用磁盘空间
下一步直到完成
其他
关于微软官方指南中的DRA目前还不知道干什么用,怎么用。有兴趣可以再研究一下。