我从RADIUS服务器收到此EAP-TLS片段:
我在C中的uint8_t数组中收到了这个数据包,当我用这个消息中包含的公钥比较这些数据时,我发现它们都是不同的。这让我相信公钥已被加密。如果是这样,它是如何加密的,我该怎么做才能检索公钥?它与pubkey之后的签名(256位)有关吗?我需要它来完成双方的DH参数生成。
谢谢!
答案 0 :(得分:0)
我在C中的uint8_t数组中收到了这个数据包,当我用这个消息中包含的公钥比较这些数据时,我发现它们都是不同的。
每次运行协议时,服务器的公钥B
(g ^ b
)应该不同。如果你看到重复的价值观,那么就会出现问题。见RFC 4492,第18页:
public:短暂的ECDH公钥
“短暂的”意味着暂时的,它被使用一次然后被扔掉。
如何加密以及如何检索公钥
未加密;它是一次使用过的临时密钥。
它与pubkey之后的签名(256位)有关吗?
没有
OpenSSL在Elliptic Curve Cryptography上有一个wiki页面。请参阅Elliptic Curve Cryptography。