2014-02-17 75 views
0

我需要驗證我的應用程序中的傳入連接。傳入的連接將發送公鑰和公鑰的指紋。我需要通過計算公鑰的指紋來驗證該公鑰,然後將計算出的指紋與客戶端發送的指紋進行比較。我無法找到一種方法來計算公鑰的指紋。我在C平臺上使用open-ssl庫。如何生成公鑰驗證公鑰的指紋?

任何有關計算公鑰指紋的幫助將非常感謝。

+0

所以......你需要散列公鑰。不知道你真的在尋找什麼。 'libcrypto'爲此提供了大量的摘要算法,儘管對於您使用sha1或sha256可能會很典型。 – WhozCraig

回答

0

我計算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); 

我希望這會幫助你。