Aracılığıyla paylaş


sertifika isteği

certreq komutu, sertifika yetkilisinden (CA) sertifika istemek, CA'dan önceki bir isteğe yanıt almak, bir .inf dosyasından yeni istek oluşturmak, bir isteği kabul etmek ve yüklemek, var olan bir CA sertifikasından veya isteğinden çapraz sertifika veya nitelenmiş bir alt istek oluşturmak için kullanılabilir. ve çapraz sertifika veya nitelenmiş bir alt istek imzalamak için.

Önemli

certreq komutunun önceki sürümleri burada açıklanan seçeneklerin tümünü sağlamayabilir. Certreq'in belirli sürümlerine göre desteklenen seçenekleri görmek için komut satırı yardım seçeneğini çalıştırın certreq -v -?.

certreq komutu, CEP/CES ortamındayken Anahtar Kanıtlama şablonunu temel alan yeni bir sertifika isteği oluşturmayı desteklemez.

Uyarı

Bu konunun içeriği Windows Server için varsayılan ayarları temel alır; örneğin, anahtar uzunluğunu 2048 olarak ayarlayın, CSP olarak Microsoft Yazılım Anahtarı Depolama Sağlayıcısı'nı seçin ve Güvenli Karma Algoritma 1 (SHA1) kullanın. Bu seçimleri şirketinizin güvenlik ilkesinin gereksinimlerine göre değerlendirin.

Sözdizimi

certreq [-submit] [options] [requestfilein [certfileout [certchainfileout [fullresponsefileOut]]]]
certreq -retrieve [options] requestid [certfileout [certchainfileout [fullresponsefileOut]]]
certreq -new [options] [policyfilein [requestfileout]]
certreq -accept [options] [certchainfilein | fullresponsefilein | certfilein]
certreq -sign [options] [requestfilein [requestfileout]]
certreq –enroll [options] templatename
certreq –enroll –cert certId [options] renew [reusekeys]

Parametreler

Parametre Açıklama
-Gönder Bir sertifika yetkilisine istek gönderir.
-Almak <requestid> Bir sertifika yetkilisinden önceki bir isteğe yanıt alır.
-Yeni .inf dosyasından yeni bir istek oluşturur.
-almak Sertifika isteğine yanıt kabul eder ve yükler.
-politika bir istek için ilkeyi ayarlar.
-işaret Çapraz sertifika veya nitelenmiş bir alt istek imzalar.
-Kayıt Sertifikayı kaydeder veya yeniler.
-? Certreq söz dizimi, seçenekler ve açıklamaların listesini görüntüler.
<parameter> -? Belirtilen parametre için yardım görüntüler.
-v -? Certreq söz diziminin, seçeneklerin ve açıklamaların ayrıntılı bir listesini görüntüler.

Örnekler

certreq -submit

Temel bir sertifika isteği göndermek için:

certreq –submit certrequest.req certnew.cer certnew.pfx

Açıklamalar

  • Bu varsayılan certreq.exe parametresidir. Komut satırı isteminde hiçbir seçenek belirtilmezse, certreq.exe bir sertifika yetkilisine sertifika isteği göndermeyi dener. gönder seçeneğini kullanırken bir sertifika isteği dosyası belirtmeniz gerekir. Bu parametre atlanırsa, uygun sertifika isteği dosyasını seçmenize olanak ortak bir Dosya Aç penceresi görüntülenir.

  • SAN özniteliğini belirterek sertifika istemek için, Microsoft Bilgi Bankası makalesinin certreq.exe yardımcı programını kullanarak sertifika isteği oluşturma ve gönderme bölümüne bakın 931351 Güvenli LDAP sertifikasına Konu Alternatif Adı ekleme.

certreq -retrieve

Sertifika kimliği 20'yi almak ve MyCertificateadlı bir sertifika dosyası (.cer) oluşturmak için:

certreq -retrieve 20 MyCertificate.cer

Açıklamalar

  • Sertifika yetkilisi verdikten sonra sertifikayı almak için certreq -retrieve requestid kullanın. requestid PKC, 0x ön ekli ondalık veya onaltılık olabilir ve 0x ön eki olmayan bir sertifika seri numarası olabilir. Sertifika isteğinin bekleme durumunda olup olmadığını göz önünde bulundurmadan, sertifika yetkilisi tarafından iptal edilmiş veya süresi dolmuş sertifikalar da dahil olmak üzere daha önce verilmiş herhangi bir sertifikayı almak için de kullanabilirsiniz.

  • Sertifika yetkilisine bir istek gönderirseniz, sertifika yetkilisinin ilke modülü isteği bekleme durumunda bırakabilir ve requestid görüntü için certreq çağıranına döndürebilir. Sonunda, sertifika yetkilisinin yöneticisi sertifikayı oluşturur veya isteği reddeder.

certreq -new

Yeni istek oluşturmak için:

[newrequest]
; At least one value must be set in this section
subject = CN=W2K8-BO-DC.contoso2.com

INF dosyasına eklenebilen olası bölümlerden bazıları şunlardır:

[yeni istek]

INF dosyasının bu alanı tüm yeni sertifika isteği şablonları için zorunludur ve değeri olan en az bir parametre içermelidir.

Anahtar1 Açıklama Değer2 Örnek
Konu Çeşitli uygulamalar bir sertifikadaki konu bilgilerine dayanır. Bu anahtar için bir değer belirtmenizi öneririz. Konu burada ayarlanmadıysa, konu alternatif adı sertifika uzantısının parçası olarak bir konu adı eklemenizi öneririz. Göreli Ayırt Edici Ad dize değerleri Konu = CN=computer1.contoso.com Subject=CN=John Smith,CN=Users,DC=Contoso,DC=com
Dışarı aktarılabilir TRUE olarak ayarlanırsa, özel anahtar sertifikayla dışarı aktarılabilir. Yüksek düzeyde güvenlik sağlamak için özel anahtarların dışarı aktarılmaması gerekir; ancak bazı durumlarda, birkaç bilgisayar veya kullanıcının aynı özel anahtarı paylaşması gerekiyorsa bu gerekli olabilir. true | false Exportable = TRUE. CNG anahtarları, bu ve düz metin dışarı aktarılabilir arasında ayrım yapabilir. CAPI1 tuşları yapamaz.
Dışa AktarılabilirŞifreli Özel anahtarın dışarı aktarılabilir olarak ayarlanıp ayarlanmayacağını belirtir. true | false ExportableEncrypted = true

İpucu: Tüm ortak anahtar boyutları ve algoritmaları tüm karma algoritmalarla çalışmaz. Belirtilen CSP de belirtilen karma algoritmasını desteklemelidir. Desteklenen karma algoritmaların listesini görmek için şu komutu çalıştırabilirsiniz: certutil -oid 1 | findstr pwszCNGAlgid | findstr /v CryptOIDInfo

Karma Algoritma Bu istek için kullanılacak Karma Algoritma. Sha256, sha384, sha512, sha1, md5, md4, md2 HashAlgorithm = sha1. Desteklenen karma algoritmaların listesini görmek için: certutil -oid 1 | findstr pwszCNGAlgid | findstr /v CryptOIDInfo
Anahtar Algoritması Hizmet sağlayıcısı tarafından ortak ve özel anahtar çifti oluşturmak için kullanılan algoritma. RSA, DH, DSA, ECDH_P256, ECDH_P521, ECDSA_P256, ECDSA_P384, ECDSA_P521 KeyAlgorithm = RSA
KeyContainer Yeni anahtar malzemenin oluşturulduğu yeni istekler için bu parametrenin ayarlanması önerilmez. Anahtar kapsayıcısı sistem tarafından otomatik olarak oluşturulur ve korunur.

Mevcut anahtar malzemesinin kullanılması gereken istekler için bu değer, mevcut anahtarın anahtar-kapsayıcı adına ayarlanabilir. Makine bağlamı için kullanılabilir anahtar kapsayıcılarının listesini görüntülemek için certutil –key komutunu kullanın. Geçerli kullanıcının bağlamı için certutil –key –user komutunu kullanın.

Rastgele dize değeri

İpucu: Olası INF ayrıştırma sorunlarını önlemek için boşluklar veya özel karakterler içeren tüm INF anahtar değerlerinin çevresinde çift tırnak işareti kullanın.

KeyContainer = {C347BD28-7F69-4090-AA16-BC58CF4D749C}
Anahtar Uzunluğu Ortak ve özel anahtarın uzunluğunu tanımlar. Anahtar uzunluğu sertifikanın güvenlik düzeyini etkiler. Daha fazla anahtar uzunluğu genellikle daha yüksek bir güvenlik düzeyi sağlar; ancak bazı uygulamaların anahtar uzunluğuyla ilgili sınırlamaları olabilir. Şifreleme hizmeti sağlayıcısı tarafından desteklenen herhangi bir geçerli anahtar uzunluğu. KeyLength = 2048
Anahtar Belirtimi Anahtarın imzalar, Exchange (şifreleme) veya her ikisi için kullanılıp kullanılamayabileceğini belirler. AT_NONE, AT_SIGNATURE, AT_KEYEXCHANGE KeySpec = AT_KEYEXCHANGE
Anahtar Kullanımı Sertifika anahtarının ne için kullanılması gerektiğini tanımlar.
  • CERT_DIGITAL_SIGNATURE_KEY_USAGE -- 80 (128)
  • CERT_NON_REPUDIATION_KEY_USAGE -- 40 (64)
  • CERT_KEY_ENCIPHERMENT_KEY_USAGE -- 20 (32)
  • CERT_DATA_ENCIPHERMENT_KEY_USAGE -- 10 (16)
  • CERT_KEY_AGREEMENT_KEY_USAGE -- 8
  • CERT_KEY_CERT_SIGN_KEY_USAGE -- 4
  • CERT_OFFLINE_CRL_SIGN_KEY_USAGE -- 2
  • CERT_CRL_SIGN_KEY_USAGE -- 2
  • CERT_ENCIPHER_ONLY_KEY_USAGE -- 1
  • CERT_DECIPHER_ONLY_KEY_USAGE -- 8000 (32768)
KeyUsage = CERT_DIGITAL_SIGNATURE_KEY_USAGE | CERT_KEY_ENCIPHERMENT_KEY_USAGE

İpucu: Birden çok değer bir kanal (|) simge ayırıcısı kullanır. INF ayrıştırma sorunlarını önlemek için birden çok değer kullanırken çift tırnak kullandığınızdan emin olun. Gösterilen değerler, her bit tanımı için onaltılık (ondalık) değerlerdir. Daha eski söz dizimi de kullanılabilir: sembolik gösterim yerine birden çok bit ayarlanmış tek bir onaltılık değer. Örneğin, KeyUsage = 0xa0.

KeyUsageProperty Özel anahtarın kullanılabilmesi için belirli bir amacı tanımlayan bir değer alır.
  • NCRYPT_ALLOW_DECRYPT_FLAG -- 1
  • NCRYPT_ALLOW_SIGNING_FLAG -- 2
  • NCRYPT_ALLOW_KEY_AGREEMENT_FLAG -- 4
  • NCRYPT_ALLOW_ALL_USAGES -- ffffff (16777215)
KeyUsageProperty = NCRYPT_ALLOW_DECRYPT_FLAG | NCRYPT_ALLOW_SIGNING_FLAG
Makine Anahtar Seti Bu anahtar, bir kullanıcıya değil makineye ait sertifikalar oluşturmanız gerektiğinde önemlidir. Oluşturulan önemli malzeme, isteği oluşturan güvenlik sorumlusunun (kullanıcı veya bilgisayar hesabı) güvenlik bağlamında tutulur. Yönetici bir bilgisayar adına sertifika isteği oluşturduğunda, anahtar malzemenin yöneticinin güvenlik bağlamında değil makinenin güvenlik bağlamında oluşturulması gerekir. Aksi takdirde makine, yöneticinin güvenlik bağlamında olacağından özel anahtarına erişemedi. true | false. Varsayılan değer false'tur. MachineKeySet = true
Önce Değil İsteğin daha önce verilemeyecek bir tarih veya tarih ve saat belirtir. NotBeforeve ValidityPeriodile ValidityPeriodUnits kullanılabilir. Tarih veya tarih ve saat NotBefore = 7/24/2012 10:31 AM

İpucu:NotBefore ve NotAfter yalnızca RequestType=cert içindir. Tarih ayrıştırma yerel ayara duyarlı olmaya çalışır. Ay adlarının kullanılması belirsizliği azaltacak ve her yerel ayarda çalışacaktır.

Sonra Değil İsteğin verilemeyecek bir tarih veya tarih ve saat belirtir. NotAfter ValidityPeriod veya ValidityPeriodUnitsile kullanılamaz. Tarih veya tarih ve saat NotAfter = 9/23/2014 10:31 AM

İpucu:NotBefore ve NotAfter yalnızca RequestType=cert içindir. Tarih ayrıştırma yerel ayara duyarlı olmaya çalışır. Ay adlarının kullanılması belirsizliği azaltacak ve her yerel ayarda çalışacaktır.

PrivateKeyArchive (Özel Anahtar Arşivi) PrivateKeyArchive ayarı yalnızca ilgili RequestType CMC olarak ayarlandığında çalışır çünkü yalnızca CMS üzerinden Sertifika Yönetim İletileri (CMC) istek biçimi, istek sahibinin özel anahtarının anahtar arşivleme için CA'ya güvenli bir şekilde aktarılmasına izin verdiğinden çalışır. true | false PrivateKeyArchive = true
Şifreleme Algoritması Kullanılacak şifreleme algoritması. Olası seçenekler, işletim sistemi sürümüne ve yüklü şifreleme sağlayıcıları kümesine bağlı olarak değişir. Kullanılabilir algoritmaların listesini görmek için komutunu çalıştırın: certutil -oid 2 | findstr pwszCNGAlgid. Kullanılan belirtilen CSP, belirtilen simetrik şifreleme algoritmasını ve uzunluğunu da desteklemelidir. EncryptionAlgorithm = 3des
Şifreleme Uzunluğu Kullanılacak şifreleme algoritmasının uzunluğu. Belirtilen EncryptionAlgorithm tarafından izin verilen uzunluk. EncryptionLength = 128
Sağlayıcı Adı Sağlayıcı adı CSP'nin görünen adıdır. Kullandığınız CSP'nin sağlayıcı adını bilmiyorsanız komut satırından certutil –csplist çalıştırın. komut, yerel sistemde kullanılabilen tüm CSP'lerin adlarını görüntüler ProviderName = Microsoft RSA SChannel Cryptographic Provider
Sağlayıcı Türü Sağlayıcı türü, RSA Full gibi belirli algoritma özelliğine göre belirli sağlayıcıları seçmek için kullanılır. Kullandığınız CSP'nin sağlayıcı türünü bilmiyorsanız komut satırı isteminden certutil –csplist çalıştırın. komut, yerel sistemde kullanılabilen tüm CSP'lerin sağlayıcı türünü görüntüler. ProviderType = 1
Yenileme Sertifikası Sertifika isteğinin oluşturulduğu sistemde bulunan bir sertifikayı yenilemeniz gerekiyorsa, bu anahtarın değeri olarak sertifika karması belirtmeniz gerekir. Sertifika isteğinin oluşturulduğu bilgisayarda bulunan herhangi bir sertifikanın sertifika karması. Sertifika karması bilmiyorsanız Sertifikalar MMC Snap-In kullanın ve yenilenmesi gereken sertifikaya bakın. Sertifika özelliklerini açın ve sertifikanın Thumbprint özniteliğine bakın. Sertifika yenileme için PKCS#7 veya CMC istek biçimi gerekir. RenewalCert = 4EDF274BD2919C6E9EC6A522F0F3B153E9B1582D
İstek Sahibi Adı Başka bir kullanıcı isteği adına kaydolma isteğinde bulunur. İstek bir Kayıt Aracısı sertifikasıyla da imzalanmalıdır, aksi taktirde CA isteği reddeder. Kayıt aracısı sertifikasını belirtmek için -cert seçeneğini kullanın. RequestType PKCS#7 veya CMColarak ayarlandıysa, sertifika istekleri için istekte bulunan adı belirtilebilir. RequestType PKCS#10olarak ayarlanırsa, bu anahtar yoksayılır. Requestername yalnızca isteğin bir parçası olarak ayarlanabilir. Bekleyen bir istekte Requestername değiştiremezsiniz. Domain\User Requestername = Contoso\BSmith
İstek Türü Sertifika isteği oluşturmak ve göndermek için kullanılan standardı belirler.
  • PKCS10 -- 1
  • PKCS7 -- 2
  • CMC -- 3
  • Cert -- 4
  • SCEP -- fd00 (64768)
İpucu: Bu seçenek otomatik olarak imzalanan veya kendi kendine verilen bir sertifikayı gösterir. İstek oluşturmaz, yeni bir sertifika oluşturur ve ardından sertifikayı yükler. Otomatik olarak imzalanan varsayılan değerdir. Otomatik olarak imzalanan olmayan, kendi kendine verilen bir sertifika oluşturmak için –cert seçeneğini kullanarak bir imzalama sertifikası belirtin.
RequestType = CMC
Güvenlik Tanımlayıcısı Güvenliği sağlanabilir nesnelerle ilişkili güvenlik bilgilerini içerir. Güvenli hale getirilebilen nesnelerin çoğu için, nesneyi oluşturan işlev çağrısında bir nesnenin güvenlik tanımlayıcısını belirtebilirsiniz. güvenlik tanımlayıcısı tanım diline dayalı dizeler.

İpucu: Bu yalnızca makine bağlamı akıllı olmayan kart anahtarları için geçerlidir.

SecurityDescriptor = D:P(A;;GA;;;SY)(A;;GA;;;BA)
AlternateSignatureAlgorithm PKCS#10 isteği veya sertifika imzası için imza algoritması nesne tanımlayıcısının (OID) ayrık mı yoksa birleştirilmiş mi olduğunu gösteren bir Boole değeri belirtir ve alır. true | false AlternateSignatureAlgorithm = false

RSA imzası için false bir Pkcs1 v1.5belirtirken truev2.1 imzayı gösterir.

Sessiz Varsayılan olarak, bu seçenek CSP'nin etkileşimli kullanıcı masaüstüne erişmesine ve kullanıcıdan akıllı kart PIN'i gibi bilgiler istemesine izin verir. Bu anahtar TRUE olarak ayarlanırsa, CSP masaüstüyle etkileşim kurmamalıdır ve kullanıcıya herhangi bir kullanıcı arabirimi görüntülemesi engellenir. true | false Silent = true
SMIME (Gülümseme) Bu parametre TRUE olarak ayarlanırsa, isteğe nesne tanımlayıcı değeri 1.2.840.113549.1.9.15 olan bir uzantı eklenir. Nesne tanımlayıcılarının sayısı yüklü işletim sistemi sürümüne ve CSP özelliğine bağlıdır. Bu özellik, Outlook gibi Güvenli Çok Amaçlı İnternet Posta Uzantıları (S/MIME) uygulamaları tarafından kullanılabilecek simetrik şifreleme algoritmalarını ifade eder. true | false SMIME = true
UseExistingKeySet Bu parametre, sertifika isteği oluştururken mevcut bir anahtar çifti kullanılması gerektiğini belirtmek için kullanılır. Bu anahtar TRUE olarak ayarlandıysa RenewalCert anahtarı veya KeyContainer adı için de bir değer belirtmeniz gerekir. Mevcut bir anahtarın özelliklerini değiştiremediğiniz için Dışarı Aktarılabilir anahtarı ayarlamamalısınız. Bu durumda, sertifika isteği oluşturulduğunda hiçbir anahtar malzeme oluşturulmaz. true | false UseExistingKeySet = true
Anahtar Koruması Özel anahtarın kullanımdan önce nasıl korunduğunu gösteren bir değer belirtir.
  • XCN_NCRYPT_UI_NO_PROTCTION_FLAG -- 0
  • XCN_NCRYPT_UI_PROTECT_KEY_FLAG -- 1
  • XCN_NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG -- 2
KeyProtection = NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG
SuppressDefaults (Varsayılanları Bastır) Varsayılan uzantıların ve özniteliklerin isteğe eklenip eklenmediğini gösteren bir Boole değeri belirtir. Varsayılanlar, nesne tanımlayıcılarıyla (OID' ler) temsil edilir. true | false SuppressDefaults = true
Dostça Ad Yeni sertifika için kolay bir ad. Metin FriendlyName = Server1
ValidityPeriodUnits ValidityPeriod ile kullanılacak birçok birimi belirtir. Not: Bu yalnızca request type=certkullanılır. Sayısal ValidityPeriodUnits = 3
Geçerlilik Süresi ValidityPeriod bir ABD İngilizcesi çoğul zaman aralığı olmalıdır. Not: Bu yalnızca istek türü=sertifika olduğunda kullanılır. Years | Months | Weeks | Days | Hours | Minutes | Seconds ValidityPeriod = Years

eşittir işaretinin (=) solunda 1 Parametresi

eşittir işaretinin (=) sağındaki 2Parametresi

[Uzantılar]

Bu bölüm isteğe bağlıdır.

Uzantı OID Tanım Örnek
2.5.29.17 2.5.29.17 = {metin}
devam continue = UPN=User@Domain.com&
devam continue = EMail=User@Domain.com&
devam continue = DNS=host.domain.com&
devam continue = DirectoryName=CN=Name,DC=Domain,DC=com&
devam continue = URL=<http://host.domain.com/default.html&>
devam continue = IPAddress=10.0.0.1&
devam continue = RegisteredId=1.2.3.4.5&
devam continue = 1.2.3.4.6.1={utf8}String&
devam continue = 1.2.3.4.6.2={octet}AAECAwQFBgc=&
devam continue = 1.2.3.4.6.2={octet}{hex}00 01 02 03 04 05 06 07&
devam continue = 1.2.3.4.6.3={asn}BAgAAQIDBAUGBw==&
devam continue = 1.2.3.4.6.3={hex}04 08 00 01 02 03 04 05 06 07
2.5.29.37 2.5.29.37={text}
devam continue = 1.3.6.1.5.5.7
devam continue = 1.3.6.1.5.5.7.3.1
2.5.29.19 {text}ca=0pathlength=3
Çok Önemli Critical=2.5.29.19
Anahtar Belirtimi
  • AT_NONE -- 0
  • AT_SIGNATURE -- 2
  • AT_KEYEXCHANGE -- 1
İstek Türü
  • PKCS10 -- 1
  • PKCS7 -- 2
  • CMC -- 3
  • Cert -- 4
  • SCEP -- fd00 (64768)
Anahtar Kullanımı
  • CERT_DIGITAL_SIGNATURE_KEY_USAGE -- 80 (128)
  • CERT_NON_REPUDIATION_KEY_USAGE -- 40 (64)
  • CERT_KEY_ENCIPHERMENT_KEY_USAGE -- 20 (32)
  • CERT_DATA_ENCIPHERMENT_KEY_USAGE -- 10 (16)
  • CERT_KEY_AGREEMENT_KEY_USAGE -- 8
  • CERT_KEY_CERT_SIGN_KEY_USAGE -- 4
  • CERT_OFFLINE_CRL_SIGN_KEY_USAGE -- 2
  • CERT_CRL_SIGN_KEY_USAGE -- 2
  • CERT_ENCIPHER_ONLY_KEY_USAGE -- 1
  • CERT_DECIPHER_ONLY_KEY_USAGE -- 8000 (32768)
KeyUsageProperty
  • NCRYPT_ALLOW_DECRYPT_FLAG -- 1
  • NCRYPT_ALLOW_SIGNING_FLAG -- 2
  • NCRYPT_ALLOW_KEY_AGREEMENT_FLAG -- 4
  • NCRYPT_ALLOW_ALL_USAGES -- ffffff (16777215)
Anahtar Koruması
  • NCRYPT_UI_NO_PROTECTION_FLAG -- 0
  • NCRYPT_UI_PROTECT_KEY_FLAG -- 1
  • NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG -- 2
KonuAdıBayrakları şablon
  • CT_FLAG_SUBJECT_REQUIRE_COMMON_NAME -- 40000000 (1073741824)
  • CT_FLAG_SUBJECT_REQUIRE_DIRECTORY_PATH -- 80000000 (2147483648)
  • CT_FLAG_SUBJECT_REQUIRE_DNS_AS_CN -- 10000000 (268435456)
  • CT_FLAG_SUBJECT_REQUIRE_EMAIL -- 20000000 (536870912)
  • CT_FLAG_OLD_CERT_SUPPLIES_SUBJECT_AND_ALT_NAME -- 8
  • CT_FLAG_SUBJECT_ALT_REQUIRE_DIRECTORY_GUID -- 1000000 (16777216)
  • CT_FLAG_SUBJECT_ALT_REQUIRE_DNS -- 8000000 (134217728)
  • CT_FLAG_SUBJECT_ALT_REQUIRE_DOMAIN_DNS -- 400000 (4194304)
  • CT_FLAG_SUBJECT_ALT_REQUIRE_EMAIL -- 4000000 (67108864)
  • CT_FLAG_SUBJECT_ALT_REQUIRE_SPN -- 800000 (8388608)
  • CT_FLAG_SUBJECT_ALT_REQUIRE_UPN -- 2000000 (33554432)
X500NameFlags
  • CERT_NAME_STR_NONE -- 0
  • CERT_OID_NAME_STR -- 2
  • CERT_X500_NAME_STR -- 3
  • CERT_NAME_STR_SEMICOLON_FLAG -- 40000000 (1073741824)
  • CERT_NAME_STR_NO_PLUS_FLAG -- 20000000 (536870912)
  • CERT_NAME_STR_NO_QUOTING_FLAG -- 10000000 (268435456)
  • CERT_NAME_STR_CRLF_FLAG -- 8000000 (134217728)
  • CERT_NAME_STR_COMMA_FLAG -- 4000000 (67108864)
  • CERT_NAME_STR_REVERSE_FLAG -- 2000000 (33554432)
  • CERT_NAME_STR_FORWARD_FLAG -- 1000000 (16777216)
  • CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG -- 10000 (65536)
  • CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG -- 20000 (131072)
  • CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG -- 40000 (262144)
  • CERT_NAME_STR_FORCE_UTF8_DIR_STR_FLAG -- 80000 (524288)
  • CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG -- 100000 (1048576)
  • CERT_NAME_STR_ENABLE_PUNYCODE_FLAG -- 200000 (2097152)

Uyarı

SubjectNameFlags, INF dosyasının hangi Konu ve SubjectAltName uzantısı alanlarının geçerli kullanıcı veya geçerli makine özelliklerine göre certreq tarafından otomatik olarak doldurulması gerektiğini belirtmesine olanak tanır: DNS adı, UPN vb. Değişmez değer şablonunun kullanılması, bunun yerine şablon adı bayraklarının kullanıldığı anlamına gelir. Bu, bağlama özgü konu bilgilerine sahip istekler oluşturmak için birden çok bağlamda tek bir INF dosyasının kullanılmasına olanak tanır.

X500NameFlags, CertStrToName değeri ASN.1 kodlanmış Ayırt Edici Subject INF keysdönüştürüldüğünde doğrudan API'ye geçirilecek bayrakları belirtir.

Örnek

Not Defteri'nde bir ilke dosyası (.inf) oluşturmak ve requestconfig.inf olarak kaydetmek için:

[NewRequest]
Subject = CN=<FQDN of computer you are creating the certificate>
Exportable = TRUE
KeyLength = 2048
KeySpec = 1
KeyUsage = 0xf0
MachineKeySet = TRUE
[RequestAttributes]
CertificateTemplate=WebServer
[Extensions]
OID = 1.3.6.1.5.5.7.3.1
OID = 1.3.6.1.5.5.7.3.2

Sertifika isteğinde bulunmak istediğiniz bilgisayarda:

certreq –new requestconfig.inf certrequest.req

OID'ler ve diğer zor yorumlanan veriler için [Dizeler] bölüm söz dizimini kullanmak için. VIRGÜLle ayrılmış BIR OID listesi kullanan EKU uzantısı için yeni {text} söz dizimi örneği:

[Version]
Signature=$Windows NT$

[Strings]
szOID_ENHANCED_KEY_USAGE = 2.5.29.37
szOID_PKIX_KP_SERVER_AUTH = 1.3.6.1.5.5.7.3.1
szOID_PKIX_KP_CLIENT_AUTH = 1.3.6.1.5.5.7.3.2

[NewRequest]
Subject = CN=TestSelfSignedCert
Requesttype = Cert

[Extensions]
%szOID_ENHANCED_KEY_USAGE%={text}%szOID_PKIX_KP_SERVER_AUTH%,
_continue_ = %szOID_PKIX_KP_CLIENT_AUTH%

Konu Diğer Adı (SAN) belirtmek için, bunu INF'nizin [Uzantılar] bölümüne ekleyin. Örneğin:

[Version]
Signature=$Windows NT$
 
[Strings]
szOID_ENHANCED_KEY_USAGE = 2.5.29.37
szOID_PKIX_KP_SERVER_AUTH = 1.3.6.1.5.5.7.3.1
szOID_PKIX_KP_CLIENT_AUTH = 1.3.6.1.5.5.7.3.2

[NewRequest]
Subject = CN=TestSelfSignedCert
Requesttype = Cert

[Extensions]
2.5.29.17 = "{text}"
_continue_ = "DNS=example.com"
_continue_ = "DNS=www.example.com"
_continue_ = "IP Address=192.168.1.1"

Bu örnekte 2.5.29.17 SAN'ı tanımlayan OID'dir. Birden çok SAN belirtmek için, her SAN uzantısını ayırmanıza ve belirtmenize olanak tanıyan _continue_ uzantısı OID kullanılır.

certreq -accept

–accept parametresi, daha önce oluşturulan özel anahtarı verilen sertifikaya bağlar ve bekleyen sertifika isteğini sertifikanın istendiği sistemden kaldırır (eşleşen bir istek varsa).

Bir sertifikayı el ile kabul etmek için:

certreq -accept certnew.cer

Uyarı

-accept ve -user seçenekleriyle –machine parametresinin kullanılması, yükleme sertifikasının kullanıcı veya makine bağlamı yüklenmesi gerekip gerekmediğini gösterir. Her iki bağlamda da yüklenen ortak anahtarla eşleşen bekleyen bir istek varsa, bu seçenekler gerekli değildir. Bekleyen istek yoksa, bunlardan biri belirtilmelidir.

certreq -policy

policy.inf dosyası, koşullu bir alt sunucu tanımlandığında CA sertifikasına uygulanan kısıtlamaları tanımlayan bir yapılandırma dosyasıdır.

Çapraz sertifika isteği oluşturmak için:

certreq -policy certsrv.req policy.inf newcertsrv.req

certreq -policy başka bir parametre olmadan kullanmak, istenen dosyayı (.req, .cmc, .txt, .der, .cer veya .crt) seçmenize olanak sağlayan bir iletişim penceresi açar. İstenen dosyayı seçip Aç'a tıkladıktan sonra, policy.inf dosyasını seçmenize olanak sağlayan başka bir iletişim kutusu penceresi açılır.

Örnekler

CAPolicy.inf Sözdizimipolicy.inf dosyasının bir örneğini bulun.

certreq -sign

Yeni bir sertifika isteği oluşturmak için imzalayın ve gönderin:

certreq -new policyfile.inf myrequest.req
certreq -sign myrequest.req myrequest.req
certreq -submit myrequest_sign.req myrequest_cert.cer

Açıklamalar

  • başka bir parametre olmadan certreq -sign kullanarak, istenen dosyayı (req, cmc, txt, der, cer veya crt) seçebilmeniz için bir iletişim penceresi açar.

  • Nitelenmiş alt isteğin imzalanması için Kuruluş Yöneticisi kimlik bilgileri gerekebilir. Bu, nitelenmiş alt sertifikalar için imzalama sertifikaları vermenin en iyi yöntemidir.

  • Nitelenmiş alt isteği imzalamak için kullanılan sertifika, nitelenmiş alt şablonu kullanır. Kuruluş Yöneticilerinin isteği imzalaması veya sertifikayı imzalayan kişilere kullanıcı izinleri vermesi gerekir.

  • CmC isteğini sizden sonra ek personelin imzalaması gerekebilir. Bu, nitelenmiş alt ile ilişkili güvence düzeyine bağlıdır.

  • Yüklediğiniz nitelenmiş alt CA'nın üst CA'sı çevrimdışıysa, nitelenmiş alt CA için CA sertifikasını çevrimdışı üst öğeden almanız gerekir. Üst CA çevrimiçiyse, Sertifika Hizmetleri Yükleme sihirbazı sırasında nitelenmiş alt CA için CA sertifikasını belirtin.

certreq -enroll

Sertifikalarınızı kaydetmek veya yenilemek için bu açıklamayı kullanabilirsiniz.

Örnekler

Sertifikayı kaydetmek için, WebServer şablonunu kullanarak ve U/I kullanarak ilke sunucusunu seçerek:

certreq -enroll –machine –policyserver * WebServer

Seri numarası kullanarak sertifikayı yenilemek için:

certreq –enroll -machine –cert 61 2d 3c fe 00 00 00 00 00 05 renew

Yalnızca geçerli sertifikaları yenileyebilirsiniz. Süresi dolan sertifikalar yenilenemez ve yeni bir sertifikayla değiştirilmelidir.

Seçenekler

Seçenekler Açıklama
-herhangi Kodlama türünü belirlemek için Force ICertRequest::Submit.
-Attrib <attributestring> İki nokta üst üste ile ayrılmış Adı ve Değer dize çiftlerini belirtir.

kullanarak Ad ve \n dize çiftlerini ayırın (örneğin, Ad1:değer1\nAd2:değer2).

-ikili Çıkış dosyalarını base64 ile kodlanmış yerine ikili olarak biçimlendirır.
-politika sunucusu <policyserver> LDAP: <path>
Sertifika Kayıt İlkesi web hizmetini çalıştıran bir bilgisayarın URI'sini veya benzersiz kimliğini ekleyin.

Gözatarak bir istek dosyası kullanmak istediğinizi belirtmek için <policyserver>için eksi (-) işareti kullanmanız gerekir.

-config <ConfigString> işlemi, CAHostName\CANameyapılandırma dizesinde belirtilen CA'yı kullanarak işler. Https:\\ bağlantısı için kayıt sunucusu URI'sini belirtin. Yerel makine deposu CA'sı için eksi (-) işareti kullanın.
-Anonim Sertifika Kaydı web hizmetleri için anonim kimlik bilgilerini kullanın.
-kerberos Sertifika Kaydı web hizmetleri için Kerberos (etki alanı) kimlik bilgilerini kullanın.
-clientcertificate (İstemci Sertifikası) <ClientCertId> <ClientCertId> sertifika parmak izi, CN, EKU, şablon, e-posta, UPN veya yeni name=value söz dizimi ile değiştirebilirsiniz.
-kullanıcı adı <username> Sertifika Kaydı web hizmetleriyle kullanılır. <username> yerine SAM adını veya etki alanı\kullanıcı değerini kullanabilirsiniz. Bu seçenek, -p seçeneğiyle birlikte kullanılır.
-p <password> Sertifika Kaydı web hizmetleriyle kullanılır. <password> yerine gerçek kullanıcının parolasını yazın. Bu seçenek, -username seçeneğiyle birlikte kullanılır.
-kullanıcı Yeni bir sertifika isteği için -user bağlamını yapılandırılır veya sertifika kabulü bağlamını belirtir. INF veya şablonda belirtilmemişse bu varsayılan bağlamdır.
-makine Yeni bir sertifika isteği yapılandırılır veya makine bağlamı için bir sertifika kabulü bağlamını belirtir. Yeni istekler için MachineKeyset INF anahtarı ve şablon bağlamı ile tutarlı olması gerekir. Bu seçenek belirtilmezse ve şablon bir bağlam ayarlamazsa, varsayılan kullanıcı bağlamıdır.
-Crl certchainfileout tarafından belirtilen base64 kodlu PKCS #7 dosyasının veya requestfileouttarafından belirtilen base64 kodlanmış dosyasının çıktısında sertifika iptal listelerini (CRL) içerir.
-Rpc Active Directory Sertifika Hizmetleri'ne (AD CS) Dağıtılmış COM yerine bir uzak yordam çağrısı (RPC) sunucu bağlantısı kullanmasını ister.
-adminforcemachine İsteği Yerel Sistem bağlamından göndermek için Anahtar Hizmeti'ni veya kimliğe bürünme özelliğini kullanın. Bu seçeneği çağıran kullanıcının Yerel Yöneticiler'in üyesi olmasını gerektirir.
-renewonbehalfof İmzalama sertifikasında tanımlanan konu adına yenileme gönderin. Bu, ICertRequest::Submit yöntemi çağrılırken CR_IN_ROBO ayarlar
-f Varolan dosyaların üzerine yazılmasını zorunlu kılın. Bu, önbelleğe alma şablonlarını ve ilkesini de atlar.
-q Sessiz modu kullanın; tüm etkileşimli istemleri gizler.
-unicode (tek kod) Standart çıkış başka bir komuta yönlendirildiğinde veya yönlendirildiğinde Unicode çıkışı yazar. Bu, Windows PowerShell betiklerinden çağrıldığında yardımcı olur.
-unicodetext Base64 metin kodlanmış veri bloblarını dosyalara yazarken Unicode çıktısı gönderir.

Biçim

Biçim Açıklama
istekfilein Base64 ile kodlanmış veya ikili giriş dosyası adı: PKCS #10 sertifika isteği, CMS sertifika isteği, PKCS #7 sertifika yenileme isteği, çapraz sertifikalanacak X.509 sertifikası veya KeyGen etiket biçimi sertifika isteği.
İstek Dosyası Çıkışı Base64 ile kodlanmış çıkış dosyası adı.
sertifika dosyası çıkışı Base64 ile kodlanmış X-509 dosya adı.
PKCS10dosya çıkışı Yalnızca certreq -policy parametresiyle kullanmak için. Base64 ile kodlanmış PKCS10 çıkış dosyası adı.
certchainfileout Base64 ile kodlanmış PKCS #7 dosya adı.
fullresponsefileout Base64 ile kodlanmış tam yanıt dosyası adı.
politikafilein Yalnızca certreq -policy parametresiyle kullanmak için. bir isteği nitelemede kullanılan uzantıların metinsel gösterimini içeren INF dosyası.

Ek Kaynaklar

Aşağıdaki makaleler certreq kullanımına örnekler içerir: