Windows
Windows MachineKey 容器文件名是如何派生的?
在
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
目錄中有一個密鑰容器的列舉。命名約定是<uniqueGUID>_<staticGUID>
並且我認為<staticGUID>
是機器標識符。最終,我希望能夠將密鑰容器與其各自的證書配對,以便我可以針對 ACL 的特定密鑰文件。為此,我需要知道它<uniqueGUID>
是如何派生的以及它與證書的關係。到目前為止,我檢查過的 Microsoft 資源尚未闡明答案,但非常適合參考:
為了解決您為了修改私鑰文件上的文件系統 ACL 而查找哪個證書與哪個密鑰文件一起使用的問題,請使用以下命令:
PS C:\Users\Ryan> $Cert = Get-Item Cert:\LocalMachine\My\2F6CB7D56BAA752BCCC0829DD829C0E2662FA1C6 PS C:\Users\Ryan> $Cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName fad662b360941f26a1193357aab3c12d_03f917b5-cb8b-45bd-b884-41c139a66ff7
文件命名約定為 x_y,其中 x 是用於唯一標識密鑰的隨機 GUID,y 是在
HKLM\SOFTWARE\Microsoft\Cryptography
.其中一些唯一標識符是眾所周知的,例如其中一些 IIS 標識符:
6de9cb26d2b98c01ec4e9e8b34824aa2_GUID iisConfigurationKey d6d986f09a1ee04e24c949879fdb506c_GUID NetFrameworkConfigurationKey 76944fb33636aeddb9590521c2e8815a_GUID iisWasKey
但其他是隨機生成的。
請注意,此資訊僅適用於“本地電腦”或“機器”證書/密鑰。使用者證書儲存在文件系統和系統資料庫上相應的使用者特定位置。