由于Windows 8应用程序的限制,我无法使用System.Security库。我需要使用Windows.Security.Cryptography,我需要验证证书(.cer文件)和密钥(.key文件)是否有效。
我已经在阅读该文件并创建了一个新的证书实例:
Windows.Security.Cryptography.Certificates.Certificate objCert = new Windows.Security.Cryptography.Certificates.Certificate(stream);
stream作为IBuffer的.cer文件。
我可以提取.cer文件的某些属性,如expiration或issuer,但是我无法获取它所签名的密钥,并将其与.key文件中包含的密钥进行比较。 / p>
答案 0 :(得分:0)
你不应该比较这些键。您通常会比较他们的哈希码。就是这样,因为你不会泄露私钥。
证书具有私钥的哈希码。从密钥文件中,您可以计算相同的哈希码。一旦你有两个哈希码,你就可以比较它们。
不要将私钥放在cer文件中,只保留公钥和私钥的哈希值。