如何解决与 PKCS11 不同的派生共享秘密
我正在尝试从 ECDH 生成共享会话密钥。我可以用不同客户的私钥和公钥来完成,它给了我相同的密钥。例如:
openssl pkeyutl -derive -inkey client_priv_key.pem -peerkey client1_pub_key.pem -hexdump
0000 - db 36 45 25 da 9d 65 da-13 bb 42 27 62 74 1e e0 .6E%..e...B'bt..
0010 - 3d 3f a8 4d be da 10 fb-96 a6 90 b0 3f a4 c3 08 =?.M........?...
openssl pkeyutl -derive -inkey client1_priv_key.pem -peerkey client_pub_key.pem -hexdump
0000 - db 36 45 25 da 9d 65 da-13 bb 42 27 62 74 1e e0 .6E%..e...B'bt..
0010 - 3d 3f a8 4d be da 10 fb-96 a6 90 b0 3f a4 c3 08 =?.M........?...
但是,我正在尝试通过 PKCS11 引擎对我的 yubikey neo(在插槽 3 内有钥匙)做同样的事情。
我正在使用这些命令:
openssl pkeyutl -engine pkcs11 -keyform engine -derive -inkey 'pkcs11:manufacturer=piv_II;id=%03;type=private;pin-value=123456' -peerform PEM -peerkey client_pub_key.pem -hexdump
engine "pkcs11" set.
0000 - f8 36 e5 ec 0a 55 12 92-4b 3d 04 aa 2d f1 ab 0c .6...U..K=..-...
0010 - b6 18 0f 9d 55 54 9c e9-b5 21 b6 ca be 34 69 e0 ....UT...!...4i.
openssl pkeyutl -engine pkcs11 -derive -keyform PEM -inkey client_priv_key.pem -peerform engine -peerkey 'pkcs11:manufacturer=piv_II;id=%03;type=public' -hexdump
engine "pkcs11" set.
0000 - fb 72 f7 34 9e 52 9a 04-e2 3b bd 5f 89 91 e0 37 .r.4.R...;._...7
0010 - 30 c2 1e 94 e1 a8 e6 9c-5c 27 7b 35 12 78 b1 55 0.......\'{5.x.U
正如你所看到的,秘密是不同的。我已经尝试通过 pkcs15-tool --read-public-key 03 -o pub.key
和其他方式提取公钥,并且它提取了相同的公钥,但随后我将其传递给文件 pub.key
的命令,但发生了同样的情况。>
你能帮我解决这个问题吗? 谢谢。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。