X509Linux系统上.NetCore的存储位置

时间:2019-04-03 13:20:55

标签: powershell .net-core

我最近在.NetCore中发现了 [System.Security.Cryptography.X509Certificates.X509Store] 类。

因此,我尝试了与PowerShell进行一些基本交互以导入PFX证书文件。这确实简化了跨平台方案中的证书的使用:D

$cert = Get-PFXCertificate -FilePath '~/myCert.pfx'
$Store = [System.Security.Cryptography.X509Certificates.X509Store]::new('My')
$Store.Open('ReadWrite')
$Store.Add($cert)
$Store.Certificates
$Store.Close()

在Linux系统上哪里可以找到该商店?每个商店是否有特定文件(MY,根)?

解决方案

.NetCore / corefx相关的用户证书存储位于:

~/.dotnet/corefx/cryptography/x509stores/*

1 个答案:

答案 0 :(得分:0)

Local Machine and Current User Certificate Stores

  

每个系统证书库具有以下类型:

     
      
  • 本地计算机证书存储区:这种类型的证书存储区在计算机本地,并且对计算机上的所有用户都是全局的。这个   证书存储区位于注册表中的   HKEY_LOCAL_MACHINE根。

  •   
  • 当前用户证书存储区:这种类型的证书存储区位于计算机上的用户帐户本地。该证书存储是   位于注册表中HKEY_CURRENT_USER根目录下。

  •   

您可以检查例如以下Registry提供者位置(内部看不清):

HKLM:\SOFTWARE\Microsoft\SystemCertificates\My
HKLM:\SOFTWARE\Microsoft\SystemCertificates\Root
HKCU:\SOFTWARE\Microsoft\SystemCertificates\My
HKCU:\SOFTWARE\Microsoft\SystemCertificates\Root

注册表文件存储在哪里?阅读例如Registry Hives Microsoft文章(再次,内部内容不清晰)…