{"id":265,"date":"2011-10-10T12:07:48","date_gmt":"2011-10-10T10:07:48","guid":{"rendered":"http:\/\/www.zerfallskonstante.de\/?p=265"},"modified":"2015-03-09T14:10:48","modified_gmt":"2015-03-09T13:10:48","slug":"zertifikatserweiterung","status":"publish","type":"post","link":"https:\/\/www.zerfallskonstante.de\/?p=265","title":{"rendered":"openssl-Zertifikatserweiterungen"},"content":{"rendered":"<p>Zertifikatserweiterungen (Extensions) bestimmen den Verwendungszweck eines Zertifikats. Beim Signieren eines CSR werden die in einer openssl-Konfigurationsdatei unter dem Parameter x509_extensions hinterlegten Werte in das anschlie\u00dfend erstellte Zertifikat geschrieben.<br \/>\n<!--more--><br \/>\nFolgende Erweiterungen werden standardm\u00e4\u00dfig unterst\u00fctzt. Dar\u00fcberhin haben verschiedene Hersteller eigene Erweiterungen registiert, beispielsweise existieren &#8222;Netscape Certificate Extensions&#8220;.<\/p>\n<p>&#8211; Basic Contrains<br \/>\n&#8211; Key Usage<br \/>\n&#8211; Extended Key Usage<br \/>\n&#8211; Subject Key Identifier<br \/>\n&#8211; Authority Key Identifier<br \/>\n&#8211; Subject Alternative Name<br \/>\n&#8211; Issuer Alternative Name<br \/>\n&#8211; Certificate Policies<br \/>\n&#8211; CRL Distribution Point<\/p>\n<p>F\u00fcr fast jede der Erweiterungen kann ein Critical Bit gesetzt werden. Ist dieses Flag gesetzt und wird die Bedingung nicht erf\u00fcllt bzw. kann sie nicht \u00fcberpr\u00fcft werden, ist kein Verbindungsaufbau m\u00f6glich bzw. die Verbindung wird als nicht-vertrauensw\u00fcrdig deklariert.<\/p>\n<p><strong>Basic Contrains (Basiseinschr\u00e4nkungen)<\/strong><br \/>\nBei CA-Zertifikaten muss CA:TRUE gesetzt sein bei nicht-CA-Zertifikaten ist laut RFC2459 der Parameter wegzulassen. Pathlen gibt an wieviel CA-Ebenen unterhalb der aktuellen CA maximal m\u00f6glich sind. Ist pathlen:0 gesetzt, kann die CA nur Anwendungs- bzw. Benutzerzertifikate signieren.<\/p>\n<pre>basicConstraints = [critical,] CA:[, pathlen:N]<\/pre>\n<p><strong>Key Usage (Schl\u00fcsselverwendung)<\/strong><br \/>\nBeschriebt den Verwendungszweck der RSA-Schl\u00fcsseldatei und welche CSR signiert werden d\u00fcrfen.<\/p>\n<p><em>decipherOnly<\/em>: Ist keyAgreement gesetzt, darf der Public-Key innerhalb eines Schl\u00fcsselaustausche zur Entschl\u00fcsselung von Daten verwendet werden. Andernfalls undefiniert.<\/p>\n<p><em>encipherOnly<\/em>: Ist keyAgreement gesetzt, darf der Public-Key innerhalb eines Schl\u00fcselaustausches zur Verschl\u00fcsselung von Daten verwendet werden. Andernfalls undefiniert.<\/p>\n<p><em>cRLSign<\/em>: Public-Key kann verwendet werden, um CRLs zu verifizieren.<\/p>\n<p><em>keysCertSign<\/em>: Public-Key kann verwendet werden, um Zertifikate zu verifizieren.<\/p>\n<p><em>keyAgreement<\/em>: Zur Verwendung beim Schl\u00fcsselaustausch.<\/p>\n<p><em>dataEncipherment<\/em>: Zur Verwendung von &#8222;normalen&#8220; Daten, also kein Schl\u00fcsseln.<\/p>\n<p><em>keyEncipherment<\/em>: Public-Key wird zum Schl\u00fcsselmanagement verwendet.<\/p>\n<p><em>nonRepudiation<\/em>: Key zur Pr\u00fcfung von &#8222;bewu\u00dften&#8220; Signaturen (au\u00dfer CRLs und bei Zertifikaten).<\/p>\n<p><em>digitalSignature<\/em>: Key zur Pr\u00fcfung von &#8222;automatischen&#8220; Signaturen (au\u00dfer CRLs und bei Zertifikaten).<\/p>\n<pre>keyUsage = [critical,] [decipherOnly,] [encipherOnly,] [cRLSign,] [keysCertSign,] [keyAgreement,] [dataEncipherment,] [keyEncipherment,] [nonRepudiation,] [digitalSignature]<\/pre>\n<p><strong>Extended Key Usage (Erweiterte Schl\u00fcsselverwendung)<\/strong><br \/>\nWird zus\u00e4tzlich oder anstelle von Key Usage verwendet.<\/p>\n<p>RFC2459-Extensions<br \/>\n<em>serverAuth<\/em>: Authentisierung von Web-Servern durch Web-Clients<\/p>\n<p><em>clientAuth<\/em>: Authentisierung von Web-Clients durch Web-Server<\/p>\n<p><em>codeSigning<\/em>: Key zur Signierung von Programm-Code<\/p>\n<p><em>emailProtection<\/em>: Key zur Verwendung mit S\/MIME-Software<\/p>\n<p><em>timStamping<\/em>: Signierung von Objekt-Hashwerten und zugeh\u00f6rigen vertrauensw\u00fcrdigen Zeitstempeln<\/p>\n<p>Microsoft-Extensions<br \/>\n<em>msCodeInd<\/em>: Individual Code Signing<br \/>\n<em>msCodeCom<\/em>: Commercial Code Signing<br \/>\n<em>msCTLSign<\/em>: Trust List Sign<br \/>\n<em>msSGC<\/em>: Server-Zertifikat mit &#8222;Global Server ID&#8220;<br \/>\n<em>msEFS<\/em>: Verschl\u00fcsselung von symmetrischen Keys zur Dateisystem-Verschl\u00fcselung<\/p>\n<p>Netscape-Extensions<br \/>\n<em>nsSGC<\/em>: Server-Zertifikat mit &#8222;Global Server ID&#8220;<\/p>\n<pre>keyUsage = [critical,] [serverAuth,] [clientAuth,] [codeSigning,] [emailProtection,] [timeStamping,] [msCodeInd,] [msCodeCom,] [msCTLSign,] [msSGC,] [msEFS,] [nsSGC,] [OID]<\/pre>\n<p><strong>Subject Key Identifier (Schl\u00fcsselkennung des Antragstellers)<\/strong><br \/>\nDies ist der Hash-Wert des Public-Keys des Zertifikats.<\/p>\n<p><em>subjectKeyIdentifier<\/em> = hash<\/p>\n<p><strong>Authority Key Identifier<\/strong><br \/>\nDer Schl\u00fcssel eines Zertifikats kann mit dieser Erweiterung auf zwei unterschiedliche Arten identifiziert werden. Entweder wird keyIdentifier oder es werden die anderen beiden Werte gesetzt.<\/p>\n<p><em>keyIdentifier<\/em>: identifiziert einen Schl\u00fcssel \u00fcber das KeyIdentifier-Feld (Hash-Wert)<\/p>\n<p><em>authorityCertIssuer<\/em>:<\/p>\n<p><em>authorityCertSerialNumber<\/em>:<\/p>\n<pre>authorityKeyIdentifier =<\/pre>\n<p><strong>Subject Alternative Name (Alternativer Antragstellername)<\/strong><br \/>\nKann verwendet werden alternative Bezeichner im Zertifikat zu hinterlegen.<\/p>\n<p><em>email<\/em>: E-Mail-Adresse als weiteren Bezeichner f\u00fcr ein Subjekt in das Zertifikat aufnehmen.<\/p>\n<p><em>URL<\/em>: URL\/DNS-Namen als weiteren Bezeichner f\u00fcr ein Subjekt in das Zertifikat aufnehmen.<\/p>\n<p><em>RID<\/em>: URIs und registrierte IDs (RIDs) als weiteren Bezeichner f\u00fcr ein Subjekt in das Zertifikat aufnehmen.<\/p>\n<p><em>IP<\/em>: IP-Adresse als weiteren Bezeichner f\u00fcr ein Subjekt in das Zertifikat aufnehmen.<\/p>\n<pre>subjectAltName=][, URL:http:\/\/my.url.here\/][, RID:1.2.3.4][, IP:1.2.3.4]&gt;<\/pre>\n<p><strong>Issuer Alternative Name (Alternativer Ausstellername)<\/strong><br \/>\nHiermit werden die Angaben aus dem Subject Alternative Name kopiert.<\/p>\n<p><em>issuer<\/em>: issuer:copy<\/p>\n<p><em>URL<\/em>: URL\/DNS-Namen als weiteren Bezeichner f\u00fcr ein Subjekt in das Zertifikat aufnehmen.<\/p>\n<p><em>RID<\/em>: URIs und registrierte IDs (RIDs) als weiteren Bezeichner f\u00fcr ein Subjekt in das Zertifikat aufnehmen.<\/p>\n<p><em>IP<\/em>: IP-Adresse als weiteren Bezeichner f\u00fcr ein Subjekt in das Zertifikat aufnehmen.<\/p>\n<pre>issuerAltName=][, URL:http:\/\/my.url.here\/][, RID:1.2.3.4][, IP:1.2.3.4]&gt;<\/pre>\n<p><strong>Certificate Policies<\/strong><\/p>\n<p><em>ia5org<\/em>: Option f\u00fcr die verwendung mit dem Internet Explorer<br \/>\n<em>OID<\/em>: Liste von akzeprierten OID (Object Identifier)<br \/>\n<em>@polsect<\/em>: verweist auf die Sektion polsect in der openssl.cnf<br \/>\n[ polsect ]<br \/>\npolicyIdentifier=OID<br \/>\nCPS=&#8220;http:\/\/www.ca.de\/policy.html&#8220;<br \/>\nuserNotice=@notice<\/p>\n<p>[ notice ]<br \/>\nexplicitText=&#8220;Nur zur Verschluesselung von E-Mail (S\/MIME)&#8220;<br \/>\norganisation=&#8220;CA Org.&#8220;<br \/>\nnoticeNumbers=4, 2<\/p>\n<pre>certificatePolicies=[ia5org,]OID[, OID, ...][,@polsect]<\/pre>\n<p><strong>CRL Distribution Point<\/strong><br \/>\nOrt an dem die Widerrufstliste (CRL) abgerufen werden kann.<\/p>\n<p><em>URI<\/em>: URL unter der die Widerrufsliste (CRL) abgerufen wird. openssl unterst\u00fctzt derzeit nur URIs. Grunds\u00e4tzlich sind alle unter subjectAltName verwendeten Methoden m\u00f6glich.<\/p>\n<pre>crlDistributionPoint=URI:http:\/\/www.ca.de\/ca1.crl[, URI:http:\/\/www.ca.de\/ca2.crl ... ]<\/pre>\n<p><strong>Netscape Certificate Extensions<\/strong><br \/>\nDiese Extensions sollten nicht als Critical gesetzt werden. Microsoft-Browser lehnen in diesem Fall die Verbindung ab.<\/p>\n<p><em>sslCA<\/em>: Ein CA-Zertifikat um Server oder Clients zu zertifizieren.<\/p>\n<p><em>emailCA<\/em>: Ein CA-Zertifikat um E-Mail-Benutzer zu zertifizieren.<\/p>\n<p><em>objCA<\/em>: Ein CA-Zertifikat um Zertifikate zum Signieren von Objekten (Java-Applits etc.) herauszugeben.<\/p>\n<p><em>server<\/em>: Ein SSL-Server-zertifikat<\/p>\n<p><em>client<\/em>: Ein SSL-Client-Zertifikat<\/p>\n<p><em>reserved<\/em>: Reserviert f\u00fcr zuk\u00fcnftige Nutzung<\/p>\n<p><em>objsign<\/em>: Zertifikat um Objekte (Java-Applets etc.) zu signieren<\/p>\n<p><em>email<\/em>: Ein E-Mail Benutzer-Zertifikat<\/p>\n<pre>nsCertType=[sslCA,] [emailCA,] [objCA,] [server,] [client,] [reserved,] [objsign,] [email]<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Zertifikatserweiterungen (Extensions) bestimmen den Verwendungszweck eines Zertifikats. Beim Signieren eines CSR werden die in einer openssl-Konfigurationsdatei unter dem Parameter x509_extensions hinterlegten Werte in das anschlie\u00dfend erstellte Zertifikat geschrieben.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,13],"tags":[6,7],"class_list":["post-265","post","type-post","status-publish","format-standard","hentry","category-linux","category-openssl","tag-ca","tag-openssl"],"_links":{"self":[{"href":"https:\/\/www.zerfallskonstante.de\/index.php?rest_route=\/wp\/v2\/posts\/265","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zerfallskonstante.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.zerfallskonstante.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.zerfallskonstante.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zerfallskonstante.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=265"}],"version-history":[{"count":11,"href":"https:\/\/www.zerfallskonstante.de\/index.php?rest_route=\/wp\/v2\/posts\/265\/revisions"}],"predecessor-version":[{"id":277,"href":"https:\/\/www.zerfallskonstante.de\/index.php?rest_route=\/wp\/v2\/posts\/265\/revisions\/277"}],"wp:attachment":[{"href":"https:\/\/www.zerfallskonstante.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=265"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.zerfallskonstante.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=265"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.zerfallskonstante.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=265"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}