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.

Se även