我需要验证应用程序中的传入连接。传入连接将发送公钥和公钥的指纹。我需要通过计算公钥的指纹来验证此公钥,然后将计算出的指纹与客户发送的指纹进行比较。我无法找到计算公钥的指纹的方法。我在 C 平台中使用开放式 ssl 库。
有关计算公钥指纹的任何帮助将不胜感激。
我计算了可以用作指纹的 SHA1 哈希,如下所示:
X509 * cert = ... /*Initialize certificate*/
unsigned char buffer[SHA1_DIGEST_LENGTH];
X509_check_purpose (cert, -1, 0);
/*Copy sha1_hash from the certificate.*/
memcpy(abuffer, rCert->sha1_hash, SHA1_DIGEST_LENGTH);
我希望这对你有所帮助。