Windows机器证书文件映射
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows机器证书文件映射相关的知识,希望对你有一定的参考价值。
BLUF
如果您知道Windows机器证书文件名,是否可以在Windows证书库中查看文件内容?
背景
我正在使用Windows 7+ VPN客户端。它不允许您直接选择应该用于连接的证书,并提供非常有限的反馈。最臭名昭着的错误RRAC是13801,大致总结为“我不喜欢使用的证书,但我不会告诉你究竟是什么”。
使用事件查看器查看安全条目,我确实看到有证书请求。就像是:
ProviderName Microsoft Software Key Storage Provider
AlgorithmName UNKNOWN
KeyName {#################}
KeyType %%2499
KeyFilePath C:ProgramDataMicrosoftCryptoRSAMachineKeys<filename>
Operation %%2458
ReturnCode 0x0
我想知道如何使用上面提到的文件名来查看证书属性(IE:看到我想要的那个被使用)。现在我唯一的方法是通过mmc导入证书,并查看导入时创建的新文件。我不能将这个技巧用于已经在系统上导入的证书。
这里的所有标识符都用于私钥。私钥不知道证书所在的位置,因为该体系结构是证书对象/证书存储区知道私钥对于给定证书的位置。
要查看证书库中的证书与系统上的密钥之间的映射,您可以使用certutil -store
,例如:
C:>certutil -store my
my
================ Certificate 0 ================
...
================ Certificate 7 ================
Serial Number: 3451b93c10f9279348a949f729d1ff10
Issuer: CN=localhost
NotBefore: 1/26/2015 2:19 PM
NotAfter: 1/25/2020 4:00 PM
Subject: CN=localhost
Signature matches Public Key
Root Certificate: Subject matches Issuer
Template:
Cert Hash(sha1): 15 e3 4c d3 2d a7 54 99 a9 17 8f 17 26 25 63 25 8f 3a 94 28
Key Container = IIS Express Development Certificate Container
Unique container name: fad662b360941f26a1193357aab3c12d_1fcb2e07-cec4-4ba1-9c78-58a431e1aefd
Provider = Microsoft RSA SChannel Cryptographic Provider
Encryption test passed
CertUtil: -store command completed successfully.
匹配的东西是Key Container
在这个输出中与事件中的KeyContainerName
相同,并且此输出中的Provider
在事件中是ProviderName
。
您还可以转储用户存储(默认为计算机):
C:>certutil -user -store -silent my
my
================ Certificate 0 ================
Serial Number: 0123456789abcdef
Issuer: E=issueremail@example.org, CN=cn.issuer.example.org, OU=ExampleOU, O=ExampleO, L=Locality, S=State, C=Country
NotBefore: 11/12/2013 6:15 AM
NotAfter: 12/13/2014 7:16 AM
Subject: E=subjectemail@example.org, CN=cn.subject.example.org, OU=ExampleOU, O=ExampleO, L=Locality, S=State, C=Country
Non-root Certificate
Template:
Cert Hash(sha1): ff 3d 35 54 54 fd ff ea 52 cd 71 6f e7 14 24 75 3f f7 fe cf
Key Container = {F76693EF-BDC3-4AEC-855A-3A2F65EB9C14}
Unique container name: 0148994a057f4e05acb6407550cdde40_1fcb2e07-cec4-4ba1-9c78-58a431e1aefd
Provider = Microsoft Enhanced RSA and AES Cryptographic Provider
Private key is NOT exportable
Encryption test passed
...
================ Certificate 51 ================
Serial Number: 0123456789abcdef
Issuer: E=issueremail@example.org, CN=cn.issuer.example.org, OU=ExampleOU, O=ExampleO, L=Locality, S=State, C=Country
NotBefore: 11/12/2013 6:15 AM
NotAfter: 12/13/2014 7:16 AM
Subject: E=subjectemail@example.org, L=Locality, S=State, C=Country
Non-root Certificate
Template:
Cert Hash(sha1): 2a 81 f8 d1 c7 40 13 2f 15 5a 5e 30 41 1a 2b 13 71 93 db 9e
Key Container = {2572D484-D352-4B32-BB00-236B755B7F81}
Unique container name: b11d717c1718a3bc6ad1769f2226998e_1fcb2e07-cec4-4ba1-9c78-58a431e1aefd
Provider = Microsoft Enhanced RSA and AES Cryptographic Provider
Private key is NOT exportable
Encryption test passed
除了-user
开关我指定-silent
,因为我有一些智能卡支持证书,我不想处理提示卡和PIN。
以上是关于Windows机器证书文件映射的主要内容,如果未能解决你的问题,请参考以下文章
苹果应用 Windows 申请 普通证书 和Push 证书 Hbuilder 个推
是否可以在远程 Windows 服务器上确定证书私钥的文件名?
如何使用 PHP 和 IIS 7 访问映射网络驱动器中的文件