Delen via


certreq

De certreq-opdracht kan worden gebruikt om certificaten aan te vragen van een certificeringsinstantie (CA), om een antwoord op een eerdere aanvraag van een CA op te halen, een nieuwe aanvraag te maken vanuit een INF-bestand, om een reactie op een aanvraag te accepteren en te installeren, om een aanvraag voor kruiscertificering of gekwalificeerde ondergeschiktheid te maken van een bestaand CA-certificaat of aanvraag, en om een aanvraag voor kruiscertificering of gekwalificeerde ondergeschiktheid te ondertekenen.

Belangrijk

Eerdere versies van de certreq-opdracht bieden mogelijk niet alle opties die hier worden beschreven. Als u de opties wilt zien die worden ondersteund op basis van specifieke versies van certreq, voert u de opdrachtregel-Help-optie certreq -v -?uit.

De certreq-opdracht biedt geen ondersteuning voor het maken van een nieuwe certificaataanvraag op basis van een Key Attestation-sjabloon in een CEP/CES-omgeving.

Waarschuwing

De inhoud voor dit onderwerp is gebaseerd op de standaardinstellingen voor Windows Server; Als u bijvoorbeeld de sleutellengte instelt op 2048, selecteert u Microsoft Software Key Storage Provider als de CSP en gebruikt u Secure Hash Algorithm 1 (SHA1). Evalueer deze selecties op basis van de vereisten van het beveiligingsbeleid van uw bedrijf.

Syntaxis

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]

Parameterwaarden

Maatstaf Beschrijving
-Opslaan Hiermee wordt een aanvraag ingediend bij een certificeringsinstantie.
-<requestid> ophalen Hiermee wordt een antwoord opgehaald op een vorige aanvraag van een certificeringsinstantie.
-Nieuw Hiermee maakt u een nieuwe aanvraag op basis van een INF-bestand.
-accepteren Accepteert en installeert een antwoord op een certificaataanvraag.
-beleid Hiermee stelt u het beleid voor een aanvraag in.
-teken Ondertekent een aanvraag voor kruiscertificering of gekwalificeerde ondergeschiktheid.
-Inschrijven Registreert of vernieuwt een certificaat.
-? Geeft een lijst weer met certreq-syntaxis, opties en beschrijvingen.
<parameter> -? Geeft help weer voor de opgegeven parameter.
-v -? Geeft een uitgebreide lijst weer met de certreq-syntaxis, opties en beschrijvingen.

Voorbeelden

certreq--submit

Een basiscertificaataanvraag indienen:

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

Opmerkingen

  • Dit is de standaardparameter certreq.exe. Als er geen optie is opgegeven bij de opdrachtregelprompt, certreq.exe probeert een certificaataanvraag in te dienen bij een certificeringsinstantie. U moet een certificaataanvraagbestand opgeven wanneer u de optie -submit gebruikt. Als deze parameter wordt weggelaten, wordt er een algemeen venster Bestand openen weergegeven, zodat u het juiste certificaataanvraagbestand kunt selecteren.

  • Als u een certificaat wilt aanvragen door het SAN-kenmerk op te geven, raadpleegt u de Het hulpprogramma certreq.exe gebruiken om een certificaataanvraag te maken en in te dienen sectie van het Microsoft Knowledge Base-artikel 931351 Een alternatieve naam voor onderwerp toevoegen aan een beveiligd LDAP-certificaat.

certreq--retrieve

Certificaat-id 20 ophalen en een certificaatbestand (.cer) maken met de naam MyCertificate:

certreq -retrieve 20 MyCertificate.cer

Opmerkingen

  • Gebruik certreq -retrieve requestid om het certificaat op te halen nadat de certificeringsinstantie het heeft uitgegeven. De requestid PKC kan een decimaal of hex met een voorvoegsel van 0x zijn en kan een serienummer van een certificaat zijn zonder voorvoegsel van 0x. U kunt het ook gebruiken om elk certificaat op te halen dat ooit is uitgegeven door de certificeringsinstantie, inclusief ingetrokken of verlopen certificaten, zonder rekening te houden of de aanvraag van het certificaat ooit in behandeling was.

  • Als u een aanvraag indient bij de certificeringsinstantie, kan de beleidsmodule van de certificeringsinstantie de aanvraag in een status in behandeling laten en de requestid retourneren aan de certreq-aanroeper voor weergave. Uiteindelijk geeft de beheerder van de certificeringsinstantie het certificaat uit of weigert de aanvraag.

certreq--new

Ga als volgt te werk om een nieuwe aanvraag te maken:

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

Hier volgen enkele van de mogelijke secties die kunnen worden toegevoegd aan het INF-bestand:

[newrequest]

Dit gebied van het INF-bestand is verplicht voor nieuwe certificaataanvraagsjablonen en moet ten minste één parameter met een waarde bevatten.

Sleutel1 Beschrijving Waarde2 Voorbeeld
Onderwerp Verschillende apps zijn afhankelijk van de onderwerpinformatie in een certificaat. U wordt aangeraden een waarde voor deze sleutel op te geven. Als het onderwerp hier niet is ingesteld, raden we u aan een onderwerpnaam op te nemen als onderdeel van de certificaatextensie voor alternatieve onderwerpnamen. Tekenreekswaarden voor relatieve DN-naam Subject = CN=computer1.contoso.com Subject=CN=John Smith,CN=Users,DC=Contoso,DC=com
Exporteerbaar Als deze optie is ingesteld op TRUE, kan de persoonlijke sleutel worden geëxporteerd met het certificaat. Om een hoog beveiligingsniveau te garanderen, mogen persoonlijke sleutels niet worden geëxporteerd; In sommige gevallen is het echter mogelijk vereist als meerdere computers of gebruikers dezelfde persoonlijke sleutel moeten delen. true | false Exportable = TRUE. CNG-sleutels kunnen onderscheid maken tussen deze en uitvoerbare tekst zonder opmaak. CAPI1-sleutels kunnen niet.
ExportableEncrypted Hiermee geeft u op of de persoonlijke sleutel moet worden ingesteld op exporteerbaar. true | false ExportableEncrypted = true

Tip: Niet alle grootten en algoritmen van openbare sleutels werken met alle hash-algoritmen. De opgegeven CSP moet ook het opgegeven hash-algoritme ondersteunen. Als u de lijst met ondersteunde hash-algoritmen wilt bekijken, kunt u de opdracht uitvoeren: certutil -oid 1 | findstr pwszCNGAlgid | findstr /v CryptOIDInfo

HashAlgorithm Hash-algoritme dat moet worden gebruikt voor deze aanvraag. Sha256, sha384, sha512, sha1, md5, md4, md2 HashAlgorithm = sha1. De lijst met ondersteunde hash-algoritmen bekijken: certutil -oid 1 | findstr pwszCNGAlgid | findstr /v CryptOIDInfo
KeyAlgorithm Het algoritme dat door de serviceprovider wordt gebruikt om een openbaar en persoonlijk sleutelpaar te genereren. RSA, DH, DSA, ECDH_P256, ECDH_P521, ECDSA_P256, ECDSA_P384, ECDSA_P521 KeyAlgorithm = RSA
KeyContainer We raden u niet aan deze parameter in te stellen voor nieuwe aanvragen waarbij nieuw sleutelmateriaal wordt gegenereerd. De sleutelcontainer wordt automatisch gegenereerd en onderhouden door het systeem.

Voor aanvragen waarbij het bestaande sleutelmateriaal moet worden gebruikt, kan deze waarde worden ingesteld op de sleutelcontainernaam van de bestaande sleutel. Gebruik de opdracht certutil –key om de lijst met beschikbare sleutelcontainers voor de machinecontext weer te geven. Gebruik de opdracht certutil –key –user voor de context van de huidige gebruiker.

Willekeurige tekenreekswaarde

Tip: Gebruik dubbele aanhalingstekens rond een INF-sleutelwaarde met lege of speciale tekens om potentiële INF-parseringsproblemen te voorkomen.

KeyContainer = {C347BD28-7F69-4090-AA16-BC58CF4D749C}
KeyLength Hiermee definieert u de lengte van de openbare en persoonlijke sleutel. De sleutellengte heeft invloed op het beveiligingsniveau van het certificaat. Een grotere sleutellengte biedt meestal een hoger beveiligingsniveau; Sommige toepassingen kunnen echter beperkingen hebben met betrekking tot de sleutellengte. Elke geldige sleutellengte die wordt ondersteund door de cryptografische serviceprovider. KeyLength = 2048
KeySpec Bepaalt of de sleutel kan worden gebruikt voor handtekeningen, voor Exchange (versleuteling) of voor beide. AT_NONE, AT_SIGNATURE, AT_KEYEXCHANGE KeySpec = AT_KEYEXCHANGE
KeyUsage Definieert waarvoor de certificaatsleutel moet worden gebruikt.
  • 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

Tip: Meerdere waarden gebruiken een scheidingsteken voor sluistekens (|). Zorg ervoor dat u dubbele aanhalingstekens gebruikt wanneer u meerdere waarden gebruikt om problemen met INF-parsering te voorkomen. De weergegeven waarden zijn hexadecimale (decimale) waarden voor elke bitdefinitie. Oudere syntaxis kan ook worden gebruikt: één hexadecimale waarde met meerdere bitsset, in plaats van de symbolische weergave. Bijvoorbeeld: KeyUsage = 0xa0.

KeyUsageProperty Haalt een waarde op waarmee het specifieke doel wordt geïdentificeerd waarvoor een persoonlijke sleutel kan worden gebruikt.
  • 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
MachineKeySet Deze sleutel is belangrijk wanneer u certificaten moet maken die eigendom zijn van de computer en niet van een gebruiker. Het sleutelmateriaal dat wordt gegenereerd, wordt onderhouden in de beveiligingscontext van de beveiligingsprincipaal (gebruikers- of computeraccount) die de aanvraag heeft gemaakt. Wanneer een beheerder een certificaataanvraag namens een computer maakt, moet het sleutelmateriaal worden gemaakt in de beveiligingscontext van de computer en niet in de beveiligingscontext van de beheerder. Anders heeft de computer geen toegang tot de persoonlijke sleutel, omdat deze zich in de beveiligingscontext van de beheerder bevindt. true | false. De standaardwaarde is onwaar. MachineKeySet = true
NotBefore Hiermee geeft u een datum of datum en tijd op waarvoor de aanvraag niet kan worden uitgegeven. NotBefore kan worden gebruikt met ValidityPeriod en ValidityPeriodUnits. Datum of datum en tijd NotBefore = 7/24/2012 10:31 AM

Tip:NotBefore en NotAfter zijn alleen voor R-equestType=cert. Datumparseringspogingen zijn landinstellingengevoelig. Het gebruik van maandnamen is niet eenduidig en werkt in elke landinstelling.

NotAfter Hiermee geeft u een datum of datum en tijd waarna de aanvraag niet kan worden uitgegeven. NotAfter kan niet worden gebruikt met ValidityPeriod of ValidityPeriodUnits. Datum of datum en tijd NotAfter = 9/23/2014 10:31 AM

Tip:NotBefore en NotAfter zijn alleen bedoeld voor RequestType=cert. Datumparseringspogingen zijn landinstellingengevoelig. Het gebruik van maandnamen is niet eenduidig en werkt in elke landinstelling.

PrivateKeyArchive De instelling PrivateKeyArchive werkt alleen als het bijbehorende RequestType is ingesteld op CMC, omdat alleen de certificaatbeheerberichten via DE CMS-aanvraagindeling (CMC) de persoonlijke sleutel van de aanvrager veilig kunnen overdragen naar de CA voor sleutelarchivering. true | false PrivateKeyArchive = true
EncryptionAlgorithm Het versleutelingsalgoritmen dat moet worden gebruikt. Mogelijke opties variëren, afhankelijk van de versie van het besturingssysteem en de set geïnstalleerde cryptografische providers. Als u de lijst met beschikbare algoritmen wilt zien, voert u de opdracht uit: certutil -oid 2 | findstr pwszCNGAlgid. De opgegeven CSP die wordt gebruikt, moet ook het opgegeven symmetrische versleutelingsalgoritmen en de lengte ondersteunen. EncryptionAlgorithm = 3des
EncryptionLength De lengte van het versleutelingsalgoritmen dat moet worden gebruikt. Elke lengte die is toegestaan door de opgegeven EncryptionAlgorithm. EncryptionLength = 128
Naam van de aanbieder De providernaam is de weergavenaam van de CSP. Als u de providernaam van de CSP die u gebruikt niet weet, voert u certutil –csplist uit vanaf een opdrachtregel. Met de opdracht worden de namen weergegeven van alle CSP's die beschikbaar zijn op het lokale systeem ProviderName = Microsoft RSA SChannel Cryptographic Provider
ProviderType Het providertype wordt gebruikt om specifieke providers te selecteren op basis van specifieke algoritmemogelijkheden, zoals RSA Full. Als u het providertype van de CSP die u gebruikt niet weet, voert u certutil –csplist uit vanaf een opdrachtregelprompt. Met de opdracht wordt het providertype weergegeven van alle CSP's die beschikbaar zijn op het lokale systeem. ProviderType = 1
RenewalCert Als u een certificaat wilt vernieuwen dat bestaat op het systeem waarin de certificaataanvraag wordt gegenereerd, moet u de hash van het certificaat opgeven als de waarde voor deze sleutel. De certificaat-hash van elk certificaat dat beschikbaar is op de computer waarop de certificaataanvraag wordt gemaakt. Als u de certificaat-hash niet weet, gebruikt u de MMC-Snap-In certificaten en bekijkt u het certificaat dat moet worden vernieuwd. Open de certificaateigenschappen en zie het kenmerk Thumbprint van het certificaat. Voor certificaatvernieuwing is een PKCS#7 of een CMC aanvraagindeling vereist. RenewalCert = 4EDF274BD2919C6E9EC6A522F0F3B153E9B1582D
RequesterName Hiermee wordt de aanvraag gedaan om u in te schrijven namens een andere gebruikersaanvraag. De aanvraag moet ook zijn ondertekend met een inschrijvingsagentcertificaat of de CA weigert de aanvraag. Gebruik de optie -cert om het certificaat van de inschrijvingsagent op te geven. De naam van de aanvrager kan worden opgegeven voor certificaataanvragen als de RequestType is ingesteld op PKCS#7 of CMC. Als de RequestType is ingesteld op PKCS#10, wordt deze sleutel genegeerd. De Requestername kan alleen worden ingesteld als onderdeel van de aanvraag. U kunt de Requestername niet bewerken in een aanvraag die in behandeling is. Domain\User Requestername = Contoso\BSmith
Aanvraagtype Bepaalt de standaard die wordt gebruikt voor het genereren en verzenden van de certificaataanvraag.
  • PKCS10 -- 1
  • PKCS7 -- 2
  • CMC -- 3
  • Cert -- 4
  • SCEP -- fd00 (64768)
Tip: Deze optie geeft een zelfondertekend of zelf uitgegeven certificaat aan. Er wordt geen aanvraag gegenereerd, maar eerder een nieuw certificaat en vervolgens het certificaat geïnstalleerd. Zelfondertekend is de standaardinstelling. Geef een handtekeningcertificaat op met behulp van de optie –cert om een zelf uitgegeven certificaat te maken dat niet zelfondertekend is.
RequestType = CMC
Beveiligingsdescriptor Bevat de beveiligingsinformatie die is gekoppeld aan beveiligbare objecten. Voor de meeste beveiligbare objecten kunt u de beveiligingsdescriptor van een object opgeven in de functieaanroep waarmee het object wordt gemaakt. Tekenreeksen op basis van definitietaal voor beveiligingsdescriptor.

Tip: Dit is alleen relevant voor computercontext zonder smartcardsleutels.

SecurityDescriptor = D:P(A;;GA;;;SY)(A;;GA;;;BA)
AlternateSignatureAlgorithm Hiermee geeft u een Booleaanse waarde op die aangeeft of de OID (Signature Algorithm Object Identifier) voor een PKCS#10-aanvraag of certificaathandtekening discreet of gecombineerd is. true | false AlternateSignatureAlgorithm = false

Voor een RSA-handtekening geeft false een Pkcs1 v1.5aan, terwijl true een v2.1 handtekening aangeeft.

Stil Met deze optie kan de CSP standaard toegang krijgen tot het interactieve bureaublad van de gebruiker en informatie aanvragen, zoals een pincode voor smartcards van de gebruiker. Als deze sleutel is ingesteld op TRUE, mag de CSP niet communiceren met het bureaublad en wordt de gebruikersinterface voor de gebruiker geblokkeerd. true | false Silent = true
SMIME Als deze parameter is ingesteld op TRUE, wordt een extensie met de object-id-waarde 1.2.840.113549.1.9.15 toegevoegd aan de aanvraag. Het aantal object-id's is afhankelijk van de geïnstalleerde besturingssysteemversie en de CSP-functie, die verwijst naar symmetrische versleutelingsalgoritmen die kunnen worden gebruikt door S/MIME-toepassingen (Secure Multipurpose Internet Mail Extensions), zoals Outlook. true | false SMIME = true
UseExistingKeySet Deze parameter wordt gebruikt om op te geven dat een bestaand sleutelpaar moet worden gebruikt bij het bouwen van een certificaataanvraag. Als deze sleutel is ingesteld op TRUE, moet u ook een waarde opgeven voor de RenewalCert-sleutel of de keycontainernaam. U moet de exportbare sleutel niet instellen omdat u de eigenschappen van een bestaande sleutel niet kunt wijzigen. In dit geval wordt er geen sleutelmateriaal gegenereerd wanneer de certificaataanvraag wordt gemaakt. true | false UseExistingKeySet = true
KeyProtection Hiermee geeft u een waarde op die aangeeft hoe een persoonlijke sleutel wordt beveiligd voordat u deze gebruikt.
  • 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 Hiermee geeft u een Booleaanse waarde op die aangeeft of de standaardextensies en -kenmerken zijn opgenomen in de aanvraag. De standaardwaarden worden vertegenwoordigd door hun object-id's (OID's). true | false SuppressDefaults = true
Vriendelijke Naam Een beschrijvende naam voor het nieuwe certificaat. Tekst FriendlyName = Server1
ValidityPeriodUnits Hiermee geeft u veel eenheden op die moeten worden gebruikt met ValidityPeriod. Opmerking: dit wordt alleen gebruikt wanneer de request type=cert. Numeriek ValidityPeriodUnits = 3
Geldigheidsperiode ValidityPeriod moet een Amerikaans-Engelse meervoudsperiode zijn. Opmerking: dit wordt alleen gebruikt wanneer het aanvraagtype=certificaat. Years | Months | Weeks | Days | Hours | Minutes | Seconds ValidityPeriod = Years

1parameter links van het gelijkteken (=)

2parameter rechts van het gelijkteken (=)

[Extensies]

Deze sectie is optioneel.

Extensie-OID Definitie Voorbeeld
2.5.29.17 2.5.29.17 = {text}
doorgaan met continue = UPN=User@Domain.com&
doorgaan met continue = EMail=User@Domain.com&
doorgaan met continue = DNS=host.domain.com&
doorgaan met continue = DirectoryName=CN=Name,DC=Domain,DC=com&
doorgaan met continue = URL=<http://host.domain.com/default.html&>
doorgaan met continue = IPAddress=10.0.0.1&
doorgaan met continue = RegisteredId=1.2.3.4.5&
doorgaan met continue = 1.2.3.4.6.1={utf8}String&
doorgaan met continue = 1.2.3.4.6.2={octet}AAECAwQFBgc=&
doorgaan met continue = 1.2.3.4.6.2={octet}{hex}00 01 02 03 04 05 06 07&
doorgaan met continue = 1.2.3.4.6.3={asn}BAgAAQIDBAUGBw==&
doorgaan met 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}
doorgaan met continue = 1.3.6.1.5.5.7
doorgaan met continue = 1.3.6.1.5.5.7.3.1
2.5.29.19 {text}ca=0pathlength=3
Kritisch Critical=2.5.29.19
KeySpec
  • AT_NONE -- 0
  • AT_SIGNATURE -- 2
  • AT_KEYEXCHANGE -- 1
Aanvraagtype
  • PKCS10 -- 1
  • PKCS7 -- 2
  • CMC -- 3
  • Cert -- 4
  • SCEP -- fd00 (64768)
KeyUsage
  • 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)
KeyProtection
  • NCRYPT_UI_NO_PROTECTION_FLAG -- 0
  • NCRYPT_UI_PROTECT_KEY_FLAG -- 1
  • NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG -- 2
SubjectNameFlags sjabloon
  • 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)

Notitie

SubjectNameFlags het INF-bestand kan opgeven welke velden voor onderwerp en SubjectAltName extensievelden automatisch moeten worden ingevuld door certreq op basis van de huidige gebruikers- of huidige computereigenschappen: DNS-naam, UPN, enzovoort. Als u de letterlijke sjabloon gebruikt, worden in plaats daarvan de sjabloonnaamvlagmen gebruikt. Hierdoor kan één INF-bestand in meerdere contexten worden gebruikt om aanvragen te genereren met contextspecifieke onderwerpinformatie.

X500NameFlags geeft aan welke vlaggen rechtstreeks aan CertStrToName API moeten worden doorgegeven wanneer de Subject INF keys waarde wordt geconverteerd naar een MET ASN.1 gecodeerde DN.1-gecodeerde naam.

Voorbeeld

Een beleidsbestand (.inf) maken in Kladblok en opslaan als requestconfig.inf:

[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

Op de computer waarvoor u een certificaat aanvraagt:

certreq –new requestconfig.inf certrequest.req

De syntaxis van de sectie [Tekenreeksen] gebruiken voor OID's en andere moeilijk te interpreteren gegevens. Het nieuwe syntaxisvoorbeeld van {text} voor de EKU-extensie, die gebruikmaakt van een door komma's gescheiden lijst met OID's:

[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%

Als u een alternatieve naam voor onderwerp (SAN) wilt opgeven, voegt u deze toe in de sectie [Extensies] van uw INF. Voorbeeld:

[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"

In dit voorbeeld is 2.5.29.17 de OID die het SAN definieert. Als u meerdere SAN's wilt opgeven, wordt de _continue_ extensie-OID gebruikt, waarmee u elke SAN-extensie kunt scheiden en opgeven.

certreq--accept

De –accept parameter koppelt de eerder gegenereerde persoonlijke sleutel aan het uitgegeven certificaat en verwijdert de aanvraag voor het in behandeling zijnde certificaat uit het systeem waar het certificaat wordt aangevraagd (als er een overeenkomende aanvraag is).

Een certificaat handmatig accepteren:

certreq -accept certnew.cer

Waarschuwing

Met behulp van de parameter -accept met de -user en –machine opties wordt aangegeven of het installatiecertificaat moet worden geïnstalleerd in gebruiker of machine context. Als er een openstaande aanvraag is in beide contexten die overeenkomen met de openbare sleutel die wordt geïnstalleerd, zijn deze opties niet nodig. Als er geen openstaande aanvraag is, moet een van deze worden opgegeven.

certreq--policy

Het bestand policy.inf is een configuratiebestand dat de beperkingen definieert die worden toegepast op een CA-certificering wanneer een gekwalificeerde ondergeschiktheid wordt gedefinieerd.

Een aanvraag voor kruiscertificaten maken:

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

Als u certreq -policy zonder andere parameter gebruikt, wordt een dialoogvenster geopend, zodat u het aangevraagde bestand (.req, .cmc, .txt, .der, .cer of .crt) kunt selecteren. Nadat u het aangevraagde bestand hebt geselecteerd en op openen klikt, wordt er een ander dialoogvenster geopend, zodat u het bestand policy.inf kunt selecteren.

Voorbeelden

Zoek een voorbeeld van het bestand policy.inf in de CAPolicy.inf Syntax.

certreq--sign

Als u een nieuwe certificaataanvraag wilt maken, ondertekent u deze en verzendt u deze:

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

Opmerkingen

  • Met certreq -sign zonder andere parameter wordt een dialoogvenster geopend, zodat u het aangevraagde bestand kunt selecteren (req, cmc, txt, der, cer of crt).

  • Voor het ondertekenen van de aanvraag voor gekwalificeerde ondergeschiktheid zijn mogelijk Ondernemingsbeheerder referenties vereist. Dit is een best practice voor het uitgeven van handtekeningcertificaten voor gekwalificeerde ondergeschiktheid.

  • Het certificaat dat wordt gebruikt om de aanvraag voor gekwalificeerde ondergeschiktheid te ondertekenen, maakt gebruik van de sjabloon voor gekwalificeerde subordinatie. Ondernemingsbeheerders moeten de aanvraag ondertekenen of gebruikersmachtigingen verlenen aan de personen die het certificaat ondertekenen.

  • Mogelijk moet u de CMC-aanvraag na u laten ondertekenen door extra medewerkers. Dit is afhankelijk van het zekerheidsniveau dat is gekoppeld aan de gekwalificeerde ondergeschiktheid.

  • Als de bovenliggende CA van de gekwalificeerde onderliggende CA die u installeert offline is, moet u het CA-certificaat verkrijgen voor de gekwalificeerde onderliggende CA van de offline-bovenliggende ca. Als de bovenliggende CA online is, geeft u het CA-certificaat op voor de gekwalificeerde onderliggende CA tijdens de wizard Voor de installatie van Certificate Services.

certreq--enroll

U kunt deze opmerking gebruiken om uw certificaten in te schrijven of te vernieuwen.

Voorbeelden

Als u een certificaat wilt inschrijven, gebruikt u de WebServer-sjabloon en selecteert u de beleidsserver met behulp van U/I:

certreq -enroll –machine –policyserver * WebServer

Een certificaat vernieuwen met behulp van een serienummer:

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

U kunt alleen geldige certificaten vernieuwen. Verlopen certificaten kunnen niet worden vernieuwd en moeten worden vervangen door een nieuw certificaat.

Opties

Opties Beschrijving
-enig Force ICertRequest::Submit om het coderingstype te bepalen.
-attrib <attributestring> Hiermee geeft u de naam en waarde tekenreeksparen, gescheiden door een dubbele punt.

Scheid naam en waarde tekenreeksparen met behulp van \n (bijvoorbeeld Naam1:waarde1\nNaam2:waarde2).

-binair Hiermee worden uitvoerbestanden opgemaakt als binair in plaats van base64-gecodeerd.
-policyserver <policyserver> ldap: <path>
Voeg de URI of unieke id in voor een computer waarop de webservice certificaatinschrijvingsbeleid wordt uitgevoerd.

Als u wilt opgeven dat u een aanvraagbestand wilt gebruiken door te bladeren, gebruikt u gewoon een minteken (-) voor <policyserver>.

-configuratie-<ConfigString> Hiermee wordt de bewerking verwerkt met behulp van de CA die is opgegeven in de configuratietekenreeks. Dit is CAHostName\CAName. Geef voor een https:\\ verbinding de URI van de inschrijvingsserver op. Gebruik een minteken (-) voor de ca voor de lokale computeropslag.
-anoniem Gebruik anonieme referenties voor webservices voor certificaatinschrijving.
-kerberos Gebruik Kerberos-referenties (domein) voor webservices voor certificaatinschrijving.
-clientcertificate <ClientCertId> U kunt de <ClientCertId> vervangen door een certificaatvingerafdruk, CN, EKU, sjabloon, e-mail, UPN of de nieuwe name=value syntaxis.
-gebruikersnaam <username> Wordt gebruikt met webservices voor certificaatinschrijving. U kunt <username> vervangen door de SAM-naam of domein\gebruiker waarde. Deze optie is bedoeld voor gebruik met de optie -p.
-p <password> Wordt gebruikt met webservices voor certificaatinschrijving. Vervang <password> door het wachtwoord van de gebruiker. Deze optie is bedoeld voor gebruik met de optie -username.
-gebruiker Hiermee configureert u de -user context voor een nieuwe certificaataanvraag of geeft u de context op voor een certificaatacceptatie. Dit is de standaardcontext als er geen is opgegeven in de INF of sjabloon.
-machine Hiermee configureert u een nieuwe certificaataanvraag of geeft u de context op voor een certificaatacceptatie voor de machinecontext. Voor nieuwe aanvragen moet deze consistent zijn met de MachineKeyset INF-sleutel en de sjablooncontext. Als deze optie niet is opgegeven en de sjabloon geen context instelt, is de standaardinstelling de gebruikerscontext.
-Crl Bevat certificaatintrekkingslijsten (CRL's) in de uitvoer naar het PKCS #7-bestand met base64-codering dat is opgegeven door certchainfileout of het bestand met base64-codering dat is opgegeven door requestfileout.
-Rpc Geeft Active Directory Certificate Services (AD CS) opdracht om een RPC-serververbinding (Remote Procedure Call) te gebruiken in plaats van gedistribueerde COM.
-adminforcemachine Gebruik de sleutelservice of imitatie om de aanvraag vanuit de context van het lokale systeem in te dienen. Vereist dat de gebruiker die deze optie aanroept lid is van lokale beheerders.
-renewonbehalfof Verzend een verlenging namens het onderwerp dat is geïdentificeerd in het handtekeningcertificaat. Hiermee wordt CR_IN_ROBO ingesteld bij het aanroepen van ICertRequest::Submit-methode
-f Bestaande bestanden moeten worden overschreven. Hiermee worden ook cachesjablonen en beleid overgeslagen.
-q Stille modus gebruiken; alle interactieve prompts onderdrukken.
-Unicode Hiermee schrijft u Unicode-uitvoer wanneer standaarduitvoer wordt omgeleid of doorgesluisd naar een andere opdracht, wat helpt bij het aanroepen van Windows PowerShell-scripts.
-unicodetekst Hiermee wordt Unicode-uitvoer verzonden bij het schrijven van met base64 gecodeerde gegevensblobs naar bestanden.

Formaten

Formaten Beschrijving
requestfilein Base64-gecodeerde of binaire invoerbestandsnaam: PKCS #10-certificaataanvraag, CMS-certificaataanvraag, PKCS #7 aanvraag voor certificaatvernieuwing, X.509-certificaat om kruisgecertificeerd of certificaataanvraag voor keyGen-tagindeling te worden aangevraagd.
requestfileout De naam van het met Base64 gecodeerde uitvoerbestand.
certfileout Met Base64 gecodeerde X-509-bestandsnaam.
PKCS10fileout Alleen voor gebruik met de parameter certreq -policy. Base64-gecodeerde PKCS10-uitvoerbestandsnaam.
certchainfileout Met Base64 gecodeerde PKCS #7-bestandsnaam.
fullresponsefileout Met Base64 gecodeerde volledige antwoordbestandsnaam.
policyfilein Alleen voor gebruik met de parameter certreq -policy. INF-bestand met een tekstweergave van extensies die worden gebruikt om een aanvraag in aanmerking te komen.

Aanvullende informatiebronnen

De volgende artikelen bevatten voorbeelden van certreq-gebruik: