我正在尝试访问受 802.1x 证书保护的 wifi 网络,并且私钥存储在 TPM2 中。
当我尝试使用网络管理器连接到网络时,收到错误消息
Sep 19 11:23:40 mylaptop wpa_supplicant[1419]: ENGINE: cannot load private key with id 'pkcs11:model=SLB9670%00%00%00%00%00%00%00%00%00;manufacturer=Infineon;serial=0000000000000000;token=mytoken_tpm2_pkcs11;id=%37%37%38%39%30%30%63%35%66%33%39%61%61%62%33%31;type=private;pin-value=userpin' [error:42000065:pkcs11 engine::object not found]
我读到此错误消息是因为网络管理器(或者实际上是 wpa_supplicant)无法检索私钥。
我相当确定数据在那里:
# pkcs11-tool --module /usr/lib/x86_64-linux-gnu/pkcs11/libtpm2_pkcs11.so -L
Available slots:
Slot 0 (0x1): mytoken_tpm2_pkcs11
token label : mytoken_tpm2_pkcs11
token manufacturer : Infineon
token model : SLB9670
token flags : login required, rng, token initialized, PIN initialized
hardware version : 1.38
firmware version : 7.85
serial num : 0000000000000000
pin min/max : 0/128
Slot 1 (0x2):
token state: uninitialized
# pkcs11-tool --module /usr/lib/x86_64-linux-gnu/pkcs11/libtpm2_pkcs11.so -O
Using slot 0 with a present token (0x1)
Public Key Object; RSA 2048 bits
label:
ID: 37373839303063356633396161623331
Usage: encrypt, verify
Access: local
我想验证网络管理器中使用的配置字符串。如何测试网络管理器的令牌访问?我如何确保'pkcs11:model=SLB9670%00%00%00%00%00%00%00%00%00;manufacturer=Infineon;serial=0000000000000000;token=mytoken_tpm2_pkcs11;id=%37%37%38%39%30%30%63%35%66%33%39%61%61%62%33%31;type=private;pin-value=userpin'
设置正确?