Windows

Windows MachineKey 容器文件名是如何派生的?

  • May 17, 2016

C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys目錄中有一個密鑰容器的列舉。命名約定是<uniqueGUID>_<staticGUID>並且我認為<staticGUID>是機器標識符。最終,我希望能夠將密鑰容器與其各自的證書配對,以便我可以針對 ACL 的特定密鑰文件。為此,我需要知道它<uniqueGUID>是如何派生的以及它與證書的關係。

到目前為止,我檢查過的 Microsoft 資源尚未闡明答案,但非常適合參考:

了解機器級和使用者級 RSA 密鑰容器(IIS 參考)

如何:更改 MachineKeys 目錄的安全權限

為了解決您為了修改私鑰文件上的文件系統 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

但其他是隨機生成的。

請注意,此資訊僅適用於“本地電腦”或“機器”證書/密鑰。使用者證書儲存在文件系統和系統資料庫上相應的使用者特定位置。

引用自:https://serverfault.com/questions/642253