Dela via


certifikatförfrågan

Certreq-kommandot kan användas för att begära certifikat från en certifikatutfärdare (CA), för att hämta ett svar på en tidigare begäran från en certifikatutfärdare, för att skapa en ny begäran från en .inf-fil, för att acceptera och installera ett svar på en begäran, för att konstruera en korscertifiering eller kvalificerad underordningsbegäran från ett befintligt CA-certifikat eller en begäran, och för att signera en begäran om korscertifiering eller kvalificerad underordning.

Viktigt!

Tidigare versioner av certreq-kommandot kanske inte innehåller alla alternativ som beskrivs här. Om du vill se vilka alternativ som stöds baserat på specifika versioner av certreq kör du kommandoradshjälpalternativet certreq -v -?.

Certreq-kommandot stöder inte att skapa en ny certifikatbegäran baserat på en nyckelattesteringsmall i en CEP/CES-miljö.

Varning

Innehållet i det här avsnittet baseras på standardinställningarna för Windows Server. Du kan till exempel ange nyckellängden till 2048, välja Microsoft Software Key Storage Provider som CSP och använda Secure Hash Algorithm 1 (SHA1). Utvärdera dessa val mot kraven i företagets säkerhetsprincip.

Syntax

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]

Parameterar

Parameter Beskrivning
-inlämna Skickar en begäran till en certifikatutfärdare.
-hämta <requestid> Hämtar ett svar på en tidigare begäran från en certifikatutfärdare.
-ny Skapar en ny begäran från en .inf-fil.
-acceptera Godkänner och installerar ett svar på en certifikatbegäran.
-politik Anger principen för en begäran.
-tecken Signerar en begäran om korscertifiering eller kvalificerad underordning.
-skriva in sig Registrerar för eller förnyar ett certifikat.
-? Visar en lista över certreq-syntax, alternativ och beskrivningar.
<parameter>? Visar hjälp för den angivna parametern.
-v -? Visar en utförlig lista över certreq-syntaxen, alternativen och beskrivningarna.

Exempel

certreq -submit

Så här skickar du en grundläggande certifikatbegäran:

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

Anmärkningar

  • Det här är standardparametern certreq.exe. Om inget alternativ anges i kommandotolken försöker certreq.exe skicka en certifikatbegäran till en certifikatutfärdare. Du måste ange en fil för certifikatbegäran när du använder alternativet – skicka. Om den här parametern utelämnas visas ett vanligt Öppna fil fönster så att du kan välja lämplig fil för certifikatbegäran.

  • Information om hur du begär ett certifikat genom att ange SAN-attributet finns i Så här använder du verktyget certreq.exe för att skapa och skicka en certifikatbegäran avsnittet i Microsoft Knowledge Base-artikeln 931351 Så här lägger du till ett alternativt ämnesnamn till ett säkert LDAP-certifikat.

certreq -retrieve

Hämta certifikat-ID 20 och skapa en certifikatfil (.cer) med namnet MyCertificate:

certreq -retrieve 20 MyCertificate.cer

Anmärkningar

  • Använd certreq -retrieve requestid för att hämta certifikatet när certifikatutfärdare har utfärdat det. requestid PKC kan vara ett decimal- eller hex-värde med 0x-prefix och det kan vara ett certifikatserienummer utan 0x-prefix. Du kan också använda det för att hämta alla certifikat som någonsin har utfärdats av certifikatutfärdare, inklusive återkallade eller utgångna certifikat, utan att överväga om certifikatets begäran någonsin var i väntande tillstånd.

  • Om du skickar en begäran till certifikatutfärdaren kan principmodulen för certifikatutfärdaren lämna begäran i ett väntande tillstånd och returnera requestid till certreq-anroparen för visning. Slutligen utfärdar certifikatutfärdaradministratören certifikatet eller nekar begäran.

certreq -new

Så här skapar du en ny begäran:

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

Följande är några av de möjliga avsnitt som kan läggas till i INF-filen:

[ny begäran]

Det här området i INF-filen är obligatoriskt för alla nya mallar för certifikatbegäran och måste innehålla minst en parameter med ett värde.

Nyckel1 Beskrivning Värde2 Exempel
Ämne Flera appar förlitar sig på ämnesinformationen i ett certifikat. Vi rekommenderar att du anger ett värde för den här nyckeln. Om ämnet inte anges här rekommenderar vi att du tar med ett ämnesnamn som en del av certifikattillägget för alternativt ämnesnamn. Relativa värden för unika namnsträngar Ämne = CN=computer1.contoso.com Subject=CN=John Smith,CN=Users,DC=Contoso,DC=com
Exportera Om värdet är TRUE kan den privata nyckeln exporteras med certifikatet. För att säkerställa en hög säkerhetsnivå bör privata nycklar inte kunna exporteras. I vissa fall kan det dock krävas om flera datorer eller användare måste dela samma privata nyckel. true | false Exportable = TRUE. CNG-nycklar kan skilja mellan det här och oformaterade exporterbara. CAPI1-nycklar kan inte.
ExportableEncrypted Anger om den privata nyckeln ska vara inställd på att kunna exporteras. true | false ExportableEncrypted = true

Tips: Alla offentliga nyckelstorlekar och algoritmer fungerar inte med alla hash-algoritmer. Den angivna CSP:en måste också ha stöd för den angivna hash-algoritmen. Om du vill se listan över hashalgoritmer som stöds kan du köra kommandot: certutil -oid 1 | findstr pwszCNGAlgid | findstr /v CryptOIDInfo

Hash-algoritm (Hash-algoritm) Hash-algoritm som ska användas för den här begäran. Sha256, sha384, sha512, sha1, md5, md4, md2 HashAlgorithm = sha1. Om du vill se listan över hash-algoritmer som stöds använder du: certutil -oid 1 | findstr pwszCNGAlgid | findstr /v CryptOIDInfo
KeyAlgorithm (på engelska) Algoritmen som används av tjänstleverantören för att generera ett offentligt och privat nyckelpar. RSA, DH, DSA, ECDH_P256, ECDH_P521, ECDSA_P256, ECDSA_P384, ECDSA_P521 KeyAlgorithm = RSA
Nyckelbehållare Vi rekommenderar inte att du anger den här parametern för nya begäranden där nytt nyckelmaterial genereras. Nyckelcontainern genereras och underhålls automatiskt av systemet.

För begäranden där det befintliga nyckelmaterialet ska användas kan det här värdet anges till nyckelcontainerns namn på den befintliga nyckeln. Använd kommandot certutil –key för att visa listan över tillgängliga nyckelcontainrar för datorkontexten. Använd kommandot certutil –key –user för den aktuella användarens kontext.

Slumpmässigt strängvärde

Tips: Använd dubbla citattecken runt alla INF-nyckelvärden som har tomma värden eller specialtecken för att undvika potentiella INF-parsningsproblem.

KeyContainer = {C347BD28-7F69-4090-AA16-BC58CF4D749C}
Nyckellängd Definierar längden på den offentliga och privata nyckeln. Nyckellängden påverkar certifikatets säkerhetsnivå. Större nyckellängd ger vanligtvis en högre säkerhetsnivå. Vissa program kan dock ha begränsningar när det gäller nyckellängden. Giltig nyckellängd som stöds av kryptografitjänstleverantören. KeyLength = 2048
KeySpec Avgör om nyckeln kan användas för signaturer, exchange (kryptering) eller för båda. AT_NONE, AT_SIGNATURE, AT_KEYEXCHANGE KeySpec = AT_KEYEXCHANGE
Användning av nycklar Definierar vad certifikatnyckeln ska användas för.
  • 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

Tips: Flera värden använder en pipe(|) symbolavgränsare. Se till att du använder dubbla citattecken när du använder flera värden för att undvika problem med INF-parsning. De värden som visas är hexadecimala (decimalvärden) för varje bitdefinition. Äldre syntax kan också användas: ett enda hexadecimalt värde med flera bitar inställda i stället för den symboliska representationen. Till exempel KeyUsage = 0xa0.

KeyUsageProperty (på engelska) Hämtar ett värde som identifierar det specifika syfte för vilket en privat nyckel kan användas.
  • 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 (på engelska) Den här nyckeln är viktig när du behöver skapa certifikat som ägs av datorn och inte en användare. Det viktiga material som genereras underhålls i säkerhetskontexten för säkerhetsobjektet (användaren eller datorkontot) som har skapat begäran. När en administratör skapar en certifikatbegäran för en dators räkning måste nyckelmaterialet skapas i datorns säkerhetskontext och inte i administratörens säkerhetskontext. Annars kunde datorn inte komma åt sin privata nyckel eftersom den skulle finnas i administratörens säkerhetskontext. true | false. Standardvärdet är falskt. MachineKeySet = true
NotBefore (Inte före engelska) Anger ett datum eller datum och en tid innan begäran inte kan utfärdas. NotBefore kan användas med ValidityPeriod och ValidityPeriodUnits. Datum eller datum och tid NotBefore = 7/24/2012 10:31 AM

Tips:NotBefore och NotAfter gäller endast RequestType=cert. Datumparsningsförsök för att vara språkkänsliga. Om du använder månadsnamn blir det oklart och bör fungera på alla språk.

Inte Efter Anger ett datum eller datum och tid efter vilket begäran inte kan utfärdas. NotAfter kan inte användas med ValidityPeriod eller ValidityPeriodUnits. Datum eller datum och tid NotAfter = 9/23/2014 10:31 AM

Tips:NotBefore och NotAfter gäller endast för RequestType=cert. Datumparsningsförsök för att vara språkkänsliga. Om du använder månadsnamn blir det oklart och bör fungera på alla språk.

PrivateKeyArchive (på engelska) Inställningen PrivateKeyArchive fungerar bara om motsvarande RequestType har angetts till CMC eftersom endast cmc-begärandeformatet (Certificate Management Messages over CMS) tillåter säker överföring av beställarens privata nyckel till certifikatutfärdaren för nyckelarkivering. true | false PrivateKeyArchive = true
Krypteringsalgoritm Krypteringsalgoritmen som ska användas. Möjliga alternativ varierar beroende på operativsystemversionen och uppsättningen installerade kryptografiska providers. Om du vill se listan över tillgängliga algoritmer kör du kommandot: certutil -oid 2 | findstr pwszCNGAlgid. Den angivna CSP som används måste också ha stöd för den angivna symmetriska krypteringsalgoritmen och längden. EncryptionAlgorithm = 3des
EncryptionLength (Kryptering) Längden på krypteringsalgoritmen som ska användas. Alla längder som tillåts av den angivna EncryptionAlgorithm. EncryptionLength = 128
Leverantörsnamn Providernamnet är csp:ens visningsnamn. Om du inte känner till providernamnet för den CSP som du använder kör du certutil –csplist från en kommandorad. Kommandot visar namnen på alla CSP:er som är tillgängliga i det lokala systemet ProviderName = Microsoft RSA SChannel Cryptographic Provider
Leverantörstyp Providertypen används för att välja specifika leverantörer baserat på specifika algoritmfunktioner, till exempel RSA Full. Om du inte känner till providertypen för den CSP som du använder kör du certutil –csplist från en kommandotolk. Kommandot visar providertypen för alla CSP:er som är tillgängliga i det lokala systemet. ProviderType = 1
RenewalCert (på engelska) Om du behöver förnya ett certifikat som finns i systemet där certifikatbegäran genereras måste du ange dess certifikathash som värde för den här nyckeln. Certifikatshash för alla certifikat som är tillgängliga på den dator där certifikatbegäran skapas. Om du inte känner till certifikathashen använder du MMC-certifikatet Snap-In och tittar på certifikatet som ska förnyas. Öppna certifikategenskaperna och se certifikatets Thumbprint-attribut. Certifikatförnyelse kräver antingen ett PKCS#7 eller ett CMC begärandeformat. RenewalCert = 4EDF274BD2919C6E9EC6A522F0F3B153E9B1582D
Beställarens namn Gör begäran om att registrera för en annan användarbegäran. Begäran måste också signeras med ett registreringsagentcertifikat, eller så avvisar certifikatutfärdare begäran. Använd alternativet -cert för att ange certifikatet för registreringsagenten. Begärandenamnet kan anges för certifikatbegäranden om RequestType har angetts till PKCS#7 eller CMC. Om RequestType är inställt på PKCS#10ignoreras den här nyckeln. Requestername kan bara anges som en del av begäran. Du kan inte ändra Requestername i en väntande begäran. Domain\User Requestername = Contoso\BSmith
Begäranstyp Avgör vilken standard som används för att generera och skicka certifikatbegäran.
  • PKCS10 -- 1
  • PKCS7 -- 2
  • CMC -- 3
  • Cert -- 4
  • SCEP -- fd00 (64768)
Tips: Det här alternativet anger ett självsignerat eller självutfärdat certifikat. Det genererar inte en begäran, utan snarare ett nytt certifikat och installerar sedan certifikatet. Självsignerad är standardvärdet. Ange ett signeringscertifikat med hjälp av alternativet –cert för att skapa ett självutfärdat certifikat som inte är självsignerat.
RequestType = CMC
Säkerhetsbeskrivning Innehåller säkerhetsinformationen som är associerad med skyddsbara objekt. För de flesta skyddsbara objekt kan du ange ett objekts säkerhetsbeskrivning i funktionsanropet som skapar objektet. Strängar baserade på definitionsspråk för säkerhetsbeskrivning.

Tips: Detta är endast relevant för maskinkontexter som inte är smartkortnycklar.

SecurityDescriptor = D:P(A;;GA;;;SY)(A;;GA;;;BA)
AlternateSignatureAlgorithm (på engelska) Anger och hämtar ett booleskt värde som anger om signaturalgoritmens objektidentifierare (OID) för en PKCS#10-begäran eller certifikatsignatur är diskret eller kombinerad. true | false AlternateSignatureAlgorithm = false

För en RSA-signatur anger false en Pkcs1 v1.5, medan true anger en v2.1 signatur.

Tyst Som standard tillåter det här alternativet CSP-åtkomst till det interaktiva användarskrivbordet och begär information, till exempel en PIN-kod för smartkort från användaren. Om den här nyckeln är inställd på TRUE får CSP:en inte interagera med skrivbordet och blockeras från att visa något användargränssnitt för användaren. true | false Silent = true
SMIME SMIME Om den här parametern är inställd på TRUE läggs ett tillägg med objektidentifierarvärdet 1.2.840.113549.1.9.15 till i begäran. Antalet objektidentifierare beror på vilken version av operativsystemet som är installerad och CSP-funktionen, som refererar till symmetriska krypteringsalgoritmer som kan användas av S/MIME-program (Secure Multipurpose Internet Mail Extensions), till exempel Outlook. true | false SMIME = true
UseExistingKeySet Den här parametern används för att ange att ett befintligt nyckelpar ska användas för att skapa en certifikatbegäran. Om den här nyckeln är inställd på TRUE måste du också ange ett värde för RenewalCert-nyckeln eller KeyContainer-namnet. Du får inte ange den exporterbara nyckeln eftersom du inte kan ändra egenskaperna för en befintlig nyckel. I det här fallet genereras inget nyckelmaterial när certifikatbegäran skapas. true | false UseExistingKeySet = true
Nyckelskydd Anger ett värde som anger hur en privat nyckel skyddas före användning.
  • 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
Undertrycka standardvärden Anger ett booleskt värde som anger om standardtilläggen och attributen ingår i begäran. Standardvärdena representeras av deras objektidentifierare (OID). true | false SuppressDefaults = true
Vänligt namn Ett eget namn för det nya certifikatet. SMS FriendlyName = Server1
ValidityPeriodUnits (på engelska) Anger många enheter som ska användas med ValidityPeriod. Obs! Detta används endast när request type=cert. Numerisk ValidityPeriodUnits = 3
Giltighetsperiod ValidityPeriod måste vara en tidsperiod för engelsk plural i USA. Obs! Detta används endast när begäran type=cert. Years | Months | Weeks | Days | Hours | Minutes | Seconds ValidityPeriod = Years

1Parameter till vänster om likhetstecknet (=)

2Parameter till höger om likhetstecknet (=)

[Tillägg]

Det här avsnittet är valfritt.

Tilläggs-OID Definition Exempel
2.5.29.17 2.5.29.17 = {text}
fortsätta continue = UPN=User@Domain.com&
fortsätta continue = EMail=User@Domain.com&
fortsätta continue = DNS=host.domain.com&
fortsätta continue = DirectoryName=CN=Name,DC=Domain,DC=com&
fortsätta continue = URL=<http://host.domain.com/default.html&>
fortsätta continue = IPAddress=10.0.0.1&
fortsätta continue = RegisteredId=1.2.3.4.5&
fortsätta continue = 1.2.3.4.6.1={utf8}String&
fortsätta continue = 1.2.3.4.6.2={octet}AAECAwQFBgc=&
fortsätta continue = 1.2.3.4.6.2={octet}{hex}00 01 02 03 04 05 06 07&
fortsätta continue = 1.2.3.4.6.3={asn}BAgAAQIDBAUGBw==&
fortsätta 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}
fortsätta continue = 1.3.6.1.5.5.7
fortsätta continue = 1.3.6.1.5.5.7.3.1
2.5.29.19 {text}ca=0pathlength=3
Kritisk Critical=2.5.29.19
KeySpec
  • AT_NONE -- 0
  • AT_SIGNATURE -- 2
  • AT_KEYEXCHANGE -- 1
Begäranstyp
  • PKCS10 -- 1
  • PKCS7 -- 2
  • CMC -- 3
  • Cert -- 4
  • SCEP -- fd00 (64768)
Användning av nycklar
  • 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 (på engelska)
  • NCRYPT_ALLOW_DECRYPT_FLAG -- 1
  • NCRYPT_ALLOW_SIGNING_FLAG -- 2
  • NCRYPT_ALLOW_KEY_AGREEMENT_FLAG -- 4
  • NCRYPT_ALLOW_ALL_USAGES -- ffffff (16777215)
Nyckelskydd
  • NCRYPT_UI_NO_PROTECTION_FLAG -- 0
  • NCRYPT_UI_PROTECT_KEY_FLAG -- 1
  • NCRYPT_UI_FORCE_HIGH_PROTECTION_FLAG -- 2
SubjectNameFlags (SubjectNameFlaggor) mall
  • 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 (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)

Anmärkning

SubjectNameFlags låter INF-filen ange vilka Ämne och SubjectAltName tilläggsfält ska fyllas i automatiskt av certreq baserat på den aktuella användaren eller aktuella datoregenskaper: DNS-namn, UPN och så vidare. Med hjälp av literalmallen används mallnamnflaggor i stället. På så sätt kan en enskild INF-fil användas i flera kontexter för att generera begäranden med kontextspecifik ämnesinformation.

X500NameFlags anger vilka flaggor som ska skickas direkt till CertStrToName API när Subject INF keys-värdet konverteras till ett ASN.1-kodat unikt namn.

Exempel

Om du vill skapa en principfil (.inf) i Anteckningar och spara den som 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

På den dator där du begär ett certifikat:

certreq –new requestconfig.inf certrequest.req

Om du vill använda avsnittssyntaxen [Strängar] för OID:er och andra svårtolkade data. Det nya syntaxexemplet {text} för EKU-tillägget, som använder en kommaavgränsad lista över OID:n:

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

Om du vill ange ett alternativt namn på certifikatmottagaren (SAN) lägger du till det i avsnittet [Tillägg] i din INF. Till exempel:

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

I det här exemplet är 2.5.29.17 den OID som definierar SAN. Om du vill ange flera SAN används _continue_ tilläggs-OID, vilket gör att du kan separera och ange varje SAN-tillägg.

certreq -accept

Parametern –accept länkar den tidigare genererade privata nyckeln med det utfärdade certifikatet och tar bort den väntande certifikatbegäran från systemet där certifikatet begärs (om det finns en matchande begäran).

Så här godkänner du ett certifikat manuellt:

certreq -accept certnew.cer

Varning

Om du använder parametern -accept med alternativen -user och –machine anger du om installationscertifikatet ska installeras i användare eller dator kontext. Om det finns en utestående begäran i någon av kontexterna som matchar den offentliga nyckeln som installeras behövs inte de här alternativen. Om det inte finns någon utestående begäran måste en av dessa anges.

certreq -policy

Filen policy.inf är en konfigurationsfil som definierar de begränsningar som tillämpas på en CA-certifiering när en kvalificerad underordning definieras.

Så här skapar du en begäran mellan certifikat:

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

Om du använder certreq -policy utan någon annan parameter öppnas ett dialogfönster där du kan välja den begärda filen (.req, .cmc, .txt, .der, .cer eller .crt). När du har valt den begärda filen och klickat på Öppnaöppnas ett annat dialogfönster så att du kan välja filen policy.inf.

Exempel

Hitta ett exempel på filen policy.inf i CAPolicy.inf Syntax.

certreq -sign

Om du vill skapa en ny certifikatbegäran signerar du den och skickar den:

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

Anmärkningar

  • Om du använder certreq -sign utan någon annan parameter öppnas ett dialogfönster så att du kan välja den begärda filen (req, cmc, txt, der, cer eller crt).

  • Signering av den kvalificerade underordningsbegäran kan kräva Företagsadministratör autentiseringsuppgifter. Det här är en bra metod för att utfärda signeringscertifikat för kvalificerad underordning.

  • Certifikatet som används för att signera den kvalificerade underordningsbegäran använder mallen för kvalificerad underordning. Företagsadministratörer måste signera begäran eller bevilja användarbehörighet till de personer som signerar certifikatet.

  • Du kan behöva ha ytterligare personal som signerar CMC-begäran efter dig. Detta beror på den säkerhetsnivå som är associerad med den kvalificerade underordningen.

  • Om den överordnade certifikatutfärdare för den kvalificerade underordnade certifikatutfärdare som du installerar är offline måste du hämta CA-certifikatet för den kvalificerade underordnade certifikatutfärdare från den överordnade offlineservern. Om den överordnade certifikatutfärdare är online anger du CA-certifikatet för den kvalificerade underordnade certifikatutfärdare under guiden Certificate Services Installation.

certreq -enroll

Du kan använda den här kommentaren för att registrera eller förnya dina certifikat.

Exempel

Om du vill registrera ett certifikat använder du mallen WebServer och genom att välja principservern med hjälp av U/I:

certreq -enroll –machine –policyserver * WebServer

Så här förnyar du ett certifikat med ett serienummer:

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

Du kan bara förnya giltiga certifikat. Utgångna certifikat kan inte förnyas och måste ersättas med ett nytt certifikat.

Alternativ

Alternativ Beskrivning
-någon Force ICertRequest::Submit för att fastställa kodningstyp.
-Attrib <attributestring> Anger Namn och Värde strängpar, avgränsade med ett kolon.

Avgränsa Namn och Värde strängpar med \n (till exempel Namn1:värde1\nNamn2:värde2).

-binär Formaterar utdatafiler som binära i stället för base64-kodade.
-policyserver <policyserver> LDAP: <path>
Infoga URI:n eller det unika ID:t för en dator som kör webbtjänsten För certifikatregistreringsprincip.

Om du vill ange att du vill använda en begärandefil genom att bläddra använder du bara ett minustecken (-) för <policyserver>.

-Konfiguration <ConfigString> Bearbetar åtgärden med hjälp av den ca som anges i konfigurationssträngen, som är CAHostName\CAName. För en https:\\-anslutning anger du registreringsserverns URI. Använd ett minustecken (-) för den lokala datorlagrings-CA:en.
-anonym Använd anonyma autentiseringsuppgifter för webbtjänster för certifikatregistrering.
-Kerberos Använd Kerberos-autentiseringsuppgifter (domän) för webbtjänster för certifikatregistrering.
-klientcertifikat <ClientCertId> Du kan ersätta <ClientCertId> med ett tumavtryck för certifikat, CN, EKU, mall, e-post, UPN eller den nya name=value syntaxen.
-användarnamn <username> Används med webbtjänster för certifikatregistrering. Du kan ersätta <username> med SAM-namnet eller domän\användarens värde. Det här alternativet är till för användning med alternativet -p.
-p <password> Används med webbtjänster för certifikatregistrering. Ersätt <password> med den faktiska användarens lösenord. Det här alternativet är till för användning med alternativet -username.
-användare Konfigurerar -user kontext för en ny certifikatbegäran eller anger kontexten för godkännande av certifikat. Det här är standardkontexten om ingen anges i INF eller mallen.
-maskin Konfigurerar en ny certifikatbegäran eller anger kontexten för ett certifikatgodkännande för datorkontexten. För nya begäranden måste den vara konsekvent med INF-nyckeln för MachineKeyset och mallkontexten. Om det här alternativet inte har angetts och mallen inte anger någon kontext är standardinställningen användarkontexten.
-Crl Innehåller listor över återkallade certifikat i utdata till den base64-kodade PKCS #7-fil som anges av certchainfileout eller till den base64-kodade fil som anges av requestfileout.
-Rpc Instruerar Active Directory Certificate Services (AD CS) att använda en RPC-serveranslutning (remote procedure call) i stället för distribuerad COM.
-adminforcemachine Använd nyckeltjänsten eller personifieringen för att skicka begäran från kontexten Lokalt system. Kräver att användaren som anropar det här alternativet är medlem i Lokala administratörer.
-renewonbehalfof Skicka in en förnyelse för det ämne som identifieras i signeringscertifikatet. Det här anger CR_IN_ROBO när du anropar ICertRequest::Submit-metod
-f Tvinga befintliga filer att skrivas över. Detta kringgår även cachelagringsmallar och principer.
-q Använd tyst läge; utelämna alla interaktiva frågor.
-Unicode Skriver Unicode-utdata när standardutdata omdirigeras eller skickas till ett annat kommando, vilket hjälper när det anropas från Windows PowerShell-skript.
-unicodetext Skickar Unicode-utdata när du skriver base64-textkodade datablobar till filer.

Formater

Formater Beskrivning
requestfilein Base64-kodat eller binärt indatafilnamn: PKCS #10 certifikatbegäran, CMS-certifikatbegäran, PKCS #7 begäran om certifikatförnyelse, X.509-certifikat som ska korscertifieras eller KeyGen-taggformatscertifikatbegäran.
requestfileout Base64-kodat utdatafilnamn.
certfileout Base64-kodat X-509-filnamn.
PKCS10filutgåva Endast för användning med parametern certreq -policy. Base64-kodad PKCS10 utdatafilnamn.
certchainfileout Base64-kodad PKCS #7 filnamn.
fullresponsefileout Base64-kodat fullständigt svarsfilnamn.
policyfilein Endast för användning med parametern certreq -policy. INF-fil som innehåller en textrepresentation av tillägg som används för att kvalificera en begäran.

Ytterligare resurser

Följande artiklar innehåller exempel på certreq-användning: