【问题标题】:How to generate a finger print for a public key to validate the public key?如何为公钥生成指纹以验证公钥?
【发布时间】:2014-02-19 12:17:41
【问题描述】:

我需要验证我的应用程序中的传入连接。传入的连接将发送一个公钥和公钥的指纹。我需要通过计算公钥的指纹来验证这个公钥,然后将计算出的指纹与客户端发送的指纹进行比较。我无法找到一种方法来计算公钥的指纹。我在 C 平台上使用 open-ssl 库。

非常感谢有关计算此公钥指纹的任何帮助。

【问题讨论】:

  • 所以...你需要散列公钥。不知道你真正在寻找什么。 libcrypto 提供了大量的摘要算法来执行此操作,尽管您可能通常使用 sha1 或 sha256。

标签: c openssl rsa-key-fingerprint


【解决方案1】:

我计算了可以用作指纹的 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);

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    • 2017-03-07
    • 2020-04-04
    • 2022-11-17
    • 2012-04-14
    • 2020-02-23
    • 1970-01-01
    相关资源
    最近更新 更多