web-dev-qa-db-ja.com

あるストアから別のストアに証明書をコピーするためのcmd / certutilsはありますか?

あるストアから別のストアに既存の証明書をコピーするcmdがあるかどうか知りたいのですが。ユーザー中間証明機関ストア(certutils -user -store ca fqdn-Host-CA)からマシンの信頼されたルート証明機関ストア(certutils -store root fqdn-Host-CA)に証明書をコピーしようとしています。 -addstoreと一緒にcmdをパイピングしてみましたが、うまくいきませんでした!!

certutil.exe -addstore root | certutil.exe -store -user ca fqdn-Host-CA

何か案は?ありがとう

6
John R

PowerShellを使用するのが良い方法かもしれないと思います。

$srcStoreScope = "CurrentUser"
$srcStoreName = "CA"

$srcStore = New-Object System.Security.Cryptography.X509Certificates.X509Store $srcStoreName, $srcStoreScope
$srcStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadOnly)

$cert = $srcStore.certificates -match "sometext"

$dstStoreScope = "LocalMachine"
$dstStoreName = "root"

$dstStore = New-Object System.Security.Cryptography.X509Certificates.X509Store $dstStoreName, $dstStoreScope
$dstStore.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$dstStore.Add($cert[0])

$srcStore.Close
$dstStore.Close

#Write-Output $cert
10
John R