Begäran om certifikatsignering
I PKI-system ( public key infrastructure) är en certifikatsigneringsbegäran (även CSR eller certifieringsbegäran ) ett meddelande som skickas från en sökande till en certifikatutfärdare för den offentliga nyckelinfrastrukturen för att ansöka om ett digitalt identitetscertifikat . Den innehåller vanligtvis den publika nyckeln för vilken certifikatet ska utfärdas, identifierande information (som ett domännamn) och ett bevis på äkthet inklusive integritetsskydd (t.ex. en digital signatur). Det vanligaste formatet för CSR är PKCS #10 -specifikationen; andra inkluderar det mer kapabla CRMF och Signed Public Key and Challenge SPKAC -formatet som genereras av vissa webbläsare .
Procedur
Innan en CSR för ett X.509 -certifikat skapas, genererar sökanden först ett nyckelpar , som håller den privata nyckeln hemlig. CSR innehåller information som identifierar sökanden (t.ex. ett förnämligt namn ), den offentliga nyckel som sökanden valt och eventuellt ytterligare information. När du använder formatet PKCS #10 måste begäran självsigneras med sökandens privata nyckel , som ger bevis på innehav av den privata nyckeln men begränsar användningen av detta format till nycklar som kan användas för signering. CSR bör åtföljas av ett ursprungsbevis (dvs. bevis på sökandens identitet) som krävs av certifikatmyndigheten, och certifikatmyndigheten kan kontakta sökanden för ytterligare information.
Typisk information som krävs i en CSR (provkolumn från exempel X.509-certifikat ). Observera att det ofta finns alternativ för Distinguished Names (DN), det föredragna värdet är listat.
DN | Information | Beskrivning | Prov |
---|---|---|---|
CN
|
Vanligt namn | Detta är ett fullt kvalificerat domännamn som du vill säkra | *.wikipedia.org |
O
|
organisations namn | Vanligtvis det juridiska namnet på ett företag eller en enhet och bör inkludera eventuella suffix som Ltd., Inc. eller Corp. | Wikimedia Foundation, Inc. |
OU
|
Organisationsenhet | Intern organisation avdelningens/avdelningens namn | DEN |
L
|
Lokalitet | Namn på stad, stad, by osv | San Francisco |
ST
|
stat | Provins, region, län eller stat. Detta bör inte förkortas (t.ex. West Sussex, Normandie, New Jersey). | Kalifornien |
C
|
Land | ISO-koden på två bokstäver för det land där din organisation finns | USA |
E-POST
|
E-postadress | Organisationskontakten, vanligtvis certifikatadministratören eller IT-avdelningen |
Om begäran lyckas skickar certifikatutfärdaren tillbaka ett identitetscertifikat som har signerats digitalt med certifikatutfärdarens privata nyckel.
Struktur för en PKCS #10 CSR
En certifieringsbegäran i PKCS #10-format består av tre huvuddelar: informationen om certifieringsförfrågan, en identifierare för signaturalgoritm och en digital signatur på informationen om certifieringsförfrågan. Den första delen innehåller viktig information, inklusive den publika nyckeln. Signaturen från begäranden hindrar en enhet från att begära ett falskt certifikat för någon annans publika nyckel. Den privata nyckeln behövs alltså för att producera en PKCS #10 CSR, men den är inte en del av CSR:n.
CSR för personliga ID-certifikat och signeringscertifikat måste ha e-postadressen till ID-innehavaren eller namnet på organisationen vid företags-ID.
Den första delen, ASN.1 typ CertificationRequestInfo , består av ett versionsnummer (som är 0 för alla kända versioner, 1.0, 1.5 och 1.7 av specifikationerna), ämnesnamnet, den publika nyckeln (algoritmidentifierare + bitsträng), och en samling attribut som ger ytterligare information om ämnet för certifikatet. Attributen kan innehålla nödvändiga certifikattillägg, ett utmaningslösenord för att begränsa återkallelser, såväl som all ytterligare information om certifikatets ämne, eventuellt inklusive lokala eller framtida typer.
Exempel på en PKCS #10 CSR
PKCS#10- standarden definierar ett binärt format för kodning av CSR:er för användning med X.509 . Det uttrycks i ASN.1 . Här är ett exempel på hur du kan undersöka dess ASN.1-struktur med OpenSSL :
openssl asn1parse -i -i din_förfrågan
En CSR kan representeras som en Base64- kodad PKCS#10; ett exempel på detta ges nedan:
----BEGIN CERTIFICATE REQUEST----- MIICzDCCAbQCAQAwgYYxCzAJBgNVBAYTAkVOMQ0wCwYDVQQIDARub25lMQ0wCwYD VQQHDARub25lMRIwEAYDVQQKDAlXaWtpcGVkaWExDTALBgNVBAsMBG5vbmUxGDAW BgNVBAMMDyoud2lraXBlZGlhLm9yZzEcMBoGCSqGSIb3DQEJARYNbm9uZUBub25l LmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMP/U8RlcCD6E8AL PT8LLUR9ygyygPCaSmIEC8zXGJung3ykElXFRz/Jc/bu0hxCxi2YDz5IjxBBOpB/ kieG83HsSmZZtR+drZIQ6vOsr/ucvpnB9z4XzKuabNGZ5ZiTSQ9L7Mx8FzvUTq5y /ArIuM+FBeuno/IV8zvwAe/VRa8i0QjFXT9vBBp35aeatdnJ2ds50yKCsHHcjvtr 9/8zPVqqmhl2XFS3Qdqlsprzbgksom67OobJGjaV+fNHNQ0o/rzP//Pl3i7vvaEG 7Ff8tQhEwR9nJUR1T6Z7ln7S6cOr23YozgWVkEJ/dSr6LAopb +cZ88FzW5NszU6i 57HhA7ECAwEAAaAAMA0GCSqGSIb3DQEBBAUAA4IBAQBn8OCVOIx+n0AS6WbEmYDR SspR9xOCoOwYfamB+2Bpmt82R01zJ/kaqzUtZUjaGvQvAaz5lUwoMdaO0X7I5Xfl sllMFDaYoGD4Rru4s8gz2qG/QHWA8uPXzJVAj6X0olbIdLTEqTKsnBj4Zr1AJCNy /YcG4ouLJr140o26MhwBpoCRpPjAgdYMH60BYfnc4/DILxMVqR9xqK1s98d6Ob/+ 3wHFK+S7BRWrJQXcM8veAexXuk9lHQ+FgGfD0eSYGz0kyP26Qa2pLTwumjt+nBPl rfJxaLHwTQ/1988G0H35ED0f9Md5fzoKi5evU1wG5WRxdEUPyt3QUXxdQ69i0C+7 ----END CERTIFICATE REQUEST-----
Ovanstående certifikatsigneringsbegäran ASN.1-struktur (som tolkas av openssl) visas som följande, där det första numret är byteoffset, d=djup, hl=rubriklängd för den aktuella typen, l=innehållets längd:
0:d=0 hl=4 l= 716 nackdelar: SEKVENS 4:d=1 hl=4 l= 436 nackdelar: SEKVENS 8:d=2 hl=2 l= 1 prim: HELTAL :00 11:d=2 hl =3 l= 134 cons: SEKVENS 14:d=3 hl=2 l= 11 cons: SET 16:d=4 hl=2 l= 9 cons: SEKVENS 18:d=5 hl=2 l= 3 prim: OBJEKT :countryName 23:d=5 hl=2 l= 2 prim: PRINTABLESTRING :EN 27:d=3 hl=2 l= 13 cons: SET 29:d=4 hl=2 l= 11 cons: SEKVENS 31:d= 5 hl=2 l= 3 prim: OBJECT :stateEllerProvinsnamn 36:d=5 hl=2 l= 4 prim: UTF8STRING :ingen 42:d=3 hl=2 l= 13 nackdelar: SET 44:d=4 hl=2 l= 11 nackdelar: SEKVENS 46:d=5 hl=2 l= 3 prim: OBJECT :localityName 51:d=5 hl=2 l= 4 prim: UTF8STRING :ingen 57:d=3 hl=2 l= 18 cons : SET 59:d=4 hl=2 l= 16 nackdelar: SEKVENS 61:d=5 hl=2 l= 3 prim: OBJEKT :organisation Namn 66:d=5 hl=2 l= 9 prim: UTF8STRING :Wikipedia 77: d=3 hl=2 l= 13 nackdelar: SET 79:d=4 hl=2 l= 11 nackdelar: SEKVENS 81:d=5 hl=2 l= 3 prim: OBJECT :organisationsenhetsnamn 86:d=5 hl=2 l= 4 prim: UTF8STRING :ingen 92:d=3 hl=2 l= 24 cons: SET 94:d=4 hl=2 l= 22 cons: SEKVENS 96:d=5 hl=2 l= 3 prim: OBJECT :commonName 101:d=5 hl=2 l= 15 prim: UTF8STRING :*.wikipedia.org 118:d=3 hl=2 l= 28 cons: SET 120:d=4 hl=2 l= 26 cons: SEQUENCE 122:d=5 hl=2 l= 9 prim: OBJEKT :e-postadress 133:d=5 hl=2 l= 13 prim: IA5STRING :[email protected] 148:d=2 hl=4 l= 290 nackdelar: SEKVENS 152:d=3 hl=2 l= 13 nackdelar: SEKVENS 154:d=4 hl=2 l= 9 prim: OBJEKT :rsaKryptering 165:d=4 hl=2 l= 0 prim: NULL 167:d=3 hl =4 l= 271 prim: BITSSTRÄNG 442:d=2 hl=2 l= 0 nackdelar: forts [ 0 ] 444:d=1 hl=2 l= 13 nackdelar: SEKVENS 446:d=2 hl=2 l= 9 prim: OBJECT :md5WithRSAEncryption 457:d=2 hl=2 l= 0 prim: NULL 459:d=1 hl=4 l= 257 prim: BIT STRING
Detta genererades genom att ange base64-kodningen i kommandot openssl asn1parse -in your_request -inform PEM -i
där PEM står för Privacy-Enhanced Mail och beskriver kodningen av ASN.1 Distinguished Encoding Rules i base64.