Certmgr.exe (Sertifika Yönetim Aracı)
Sertifika Yöneticisi aracı (Certmgr.exe) sertifikaları, sertifika güven listelerini (CTL) ve sertifika iptal listelerini (CRL) yönetir.
Sertifika Yöneticisi, Windows 10 SDK ile yüklenir. Aracı başlatmak için Visual Studio Geliştirici Komut İstemi'ni veya Visual Studio Geliştirici PowerShell'i kullanın.
Not
Sertifika Yöneticisi aracı (Certmgr.exe) bir komut satırı aracıyken, Sertifikalar (Certmgr.msc) bir Microsoft Yönetim Konsolu (MMC) ek bileşenidir. Certmgr.msc genellikle Windows Sistem dizininde bulunduğundan, Komut satırına girmek certmgr
, Visual Studio için Geliştirici Komut İstemi'ni açmış olsanız bile Sertifikalar MMC ek bileşenini yükleyebilir. Bunun nedeni, ek bileşenin yolunun ortam değişkenindeki Sertifika Yöneticisi aracının yolundan Path
önce gelmesidir. Bu sorunla karşılaşırsanız yürütülebilir dosyanın yolunu belirterek Certmgr.exe komutları yürütebilirsiniz; örneğin, %ProgramFiles(x86)%\Windows Kits\10\bin\10.0.22000.0\arm64\certmgr.exe.
X.509 sertifikalarına genel bakış için bkz . Sertifikalarla Çalışma.
Sözdizimi
Komut istemine aşağıdakileri girin:
certmgr [/add | /del | /put] [options]
[/s[/r registryLocation]] [sourceStorename]
[/s[/r registryLocation]] [destinationStorename]
Parametreler
Bağımsız değişken | Açıklama |
---|---|
sourceStorename | Eklenecek, silinecek, kaydedilecek veya görüntülenecek varolan sertifikaları, CTL'leri veya CRL'leri içeren sertifika deposu. Bu bir depo dosyası veya sistem deposu olabilir. |
destinationStorename | Çıktı sertifika deposu veya dosyası. |
Seçenek | Açıklama |
---|---|
/eklemek | Bir sertifika deposuna sertifikalar, CTL'ler ve CRL'ler ekler. |
/tüm | /add ile kullanıldığında tüm girdileri ekler. /del ile kullanıldığında tüm girişleri siler. /add veya /del seçenekleri olmadan kullanıldığında tüm girişleri görüntüler. /all seçeneği /put ile kullanılamaz. |
/c | /add ile kullanıldığında sertifika ekler. /del ile kullanıldığında sertifikaları siler. /put ile kullanıldığında sertifikaları kaydeder. /add, /del veya /put seçeneği olmadan kullanıldığında sertifikaları görüntüler. |
/CRL | /add ile kullanıldığında CRL'ler ekler. /del ile kullanıldığında CRL'leri siler. /put ile kullanıldığında CRL'leri kaydeder. /add, /del veya /put seçeneği olmadan kullanıldığında CRL'leri görüntüler. |
/CTL | /add ile kullanıldığında CTL ekler. /del ile kullanıldığında CTL'leri siler. /put ile kullanıldığında CTL'leri kaydeder. /add, /del veya /put seçeneği olmadan kullanıldığında CTL'leri görüntüler. |
/Del | Bir sertifika deposundan sertifikaları, CTL'leri ve CRL'leri siler. |
/e encodingType | Sertifika kodlama türünü belirtir. Varsayılan değer: X509_ASN_ENCODING . |
/f dwFlags | Depo açık bayrağını belirtir. Bu, CertOpenStore'na geçirilen dwFlags parametresidir. Varsayılan değer CERT_SYSTEM_STORE_CURRENT_USER değeridir. Bu seçenek yalnızca /y seçeneği kullanılıyorsa kabul edilir. |
/h[elp] | Araç için komut sözdizimini ve seçenekleri görüntüler. |
/n nam | Eklenecek, silinecek veya kaydedilecek sertifika için ortak adı belirtir. Bu seçenek yalnızca sertifikalarla kullanılabilir; CTL'ler veya CRL'ler ile kullanılamaz. |
/koymak | Bir sertifika deposundan bir X.509 sertifikasını, CTL'yi veya CRL'yi dosyaya kaydeder. Dosya X.509 biçiminde kaydedilir. /7 seçeneğini /put seçeneğiyle kullanarak dosyayı PKCS #7 biçiminde kaydedebilirsiniz. /put seçeneğinin ardından /c, /CTL veya /CRL bulunmalıdır. /all seçeneği /put ile kullanılamaz. |
/r konumu | Sistem deposu için kayıt defteri konumunu tanımlar. Bu seçenek yalnızca /s seçeneğini belirtirseniz kabul edilir. konum aşağıdakilerden biri olmalıdır: - currentUser sertifika deposunun HKEY_CURRENT_USER anahtarı altında olduğunu gösterir. Bu varsayılan seçenektir.- localMachine sertifika deposunun HKEY_LOCAL_MACHINE anahtarı altında olduğunu gösterir. |
/s | Sertifika deposunun bir sistem deposu olduğunu gösterir. Bu seçeneği belirtmezseniz, mağaza bir StoreFile olarak kabul edilir. |
/sha1 sha1Hash | Eklenecek, silinecek veya kaydedilecek sertifikanın, CTL'nin veya CRL'nin SHA1 karmasını belirtir. |
/v | Ayrıntılı modu belirtir; sertifikalar, CTL'ler ve CRL'ler hakkında ayrıntılı bilgi görüntüler. Bu seçenek /add, /del veya /put seçenekleriyle kullanılamaz. |
/y sağlayıcısı | Depo sağlayıcısı adını sağlar. |
/7 | Hedef depoyu bir PKCS #7 nesnesi olarak kaydeder. |
/? | Araç için komut sözdizimini ve seçenekleri görüntüler. |
Açıklamalar
Certmgr.exe aşağıdaki temel işlevleri gerçekleştirir:
- Sertifikaları, CTL'leri ve CRL'leri konsolda görüntüler.
- Bir sertifika deposuna sertifikalar, CTL'ler ve CRL'ler ekler.
- Bir sertifika deposundan sertifikaları, CTL'leri ve CRL'leri siler.
- Bir sertifika deposundan bir X.509 sertifikasını, CTL'yi veya CRL'yi dosyaya kaydeder.
Certmgr.exe iki tür sertifika deposuyla çalışır: StoreFile ve sistem deposu. Sertifika deposunun türünü belirtmek gerekli değildir; Certmgr.exe depo türünü tanımlayabilir ve uygun işlemleri gerçekleştirebilir.
Certmgr.exe'yi hiçbir seçenek olmadan belirtmek, komut satırından kullanılabilen sertifika yönetim görevlerine yardımcı olan bir GUI'ye sahip certmgr.msc ek bileşenini yönetir. GUI; sertifikaları, CTL'leri ve CRL'leri diskinizden bir sertifika deposuna kopyalayan bir içeri aktarma sihirbazı sağlar.
Aşağıdaki kodu derleyip çalıştırarak ve destinationStorename
parametreleri için sourceStorename
X509Certificate depolarının adlarını bulabilirsiniz.
using System;
using System.Security.Cryptography.X509Certificates;
public class Example
{
public static void Main()
{
foreach (var storeValue in Enum.GetValues(typeof(StoreName))) {
X509Store store = new X509Store((StoreName) storeValue);
store.Open(OpenFlags.ReadOnly);
Console.WriteLine(store.Name);
}
}
}
Imports System.Security.Cryptography.X509Certificates
Module Example
Public Sub Main()
For Each storeValue In [Enum].GetValues(GetType(StoreName))
Dim store As New X509Store(CType(storeValue, StoreName))
store.Open(OpenFlags.ReadOnly)
Console.WriteLine(store.Name)
Next
End Sub
End Module
Sertifikalar hakkında daha fazla bilgi için bkz . Sertifikalarla Çalışma.
Örnekler
Aşağıdaki komut, ayrıntılı çıkışla adlı my
varsayılan bir sistem deposunu görüntüler.
certmgr /v /s my
Aşağıdaki komut adlı dosyadaki tüm sertifikaları adlı myFile.ext
newFile.ext
yeni bir dosyaya ekler.
certmgr /add /all /c myFile.ext newFile.ext
Aşağıdaki komut sertifikayı adlı dosyaya testcert.cer
sistem deposuna my
ekler.
certmgr /add /c testcert.cer /s my
Aşağıdaki komut, sertifikayı kök sertifika deposuna adlı TrustedCert.cer
bir dosyaya ekler.
certmgr /c /add TrustedCert.cer /s root
Aşağıdaki komut, sistem deposunda ortak ada myCert
sahip bir sertifikayı my
adlı newCert.cer
bir dosyaya kaydeder.
certmgr /add /c /n myCert /s my newCert.cer
Aşağıdaki komut sistem deposundaki my
tüm CTL'leri siler ve sonuçta elde edilen depoyu adlı newStore.str
bir dosyaya kaydeder.
certmgr /del /all /ctl /s my newStore.str
Aşağıdaki komut, bir sertifikayı dosyasındaki my
newFile
sistem deposuna kaydeder. içine koymak newFile
için sertifika my
numarasını girmeniz istenir.
certmgr /put /c /s my newFile