【发布时间】:2014-07-29 06:46:46
【问题描述】:
由于 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 文件的一些属性,例如过期或颁发者,但我无法获取用于签名的密钥,并将其与 .key 文件中包含的密钥进行比较。
【问题讨论】:
-
密钥是干什么用的?是发行者的签名密钥,还是主体公钥的私钥?
-
"...但我无法获得用于签名的密钥..." - 对。您应该无法访问颁发者的私钥,因为它是私钥:) 颁发者保留私钥/签名密钥,并分发公钥。与 PID 所说的类似,您能做的最多可能是针对授权密钥标识符 (AKI) 进行一些测试。
标签: c# visual-studio ssl windows-8