Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
openssl [2024/10/16 09:47] jango [CA erstellen] |
openssl [2025/07/03 11:59] (aktuell) jango [ExtendedKeyUsage] |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | Siehe auch [[ssl|SSL]] | + | Siehe auch [[ssl|SSL]], [[OpenSSL]], |
| {{openssl.zip|OpenSSL}} | {{openssl.zip|OpenSSL}} | ||
| Zeile 86: | Zeile 86: | ||
| =====Zertifikat===== | =====Zertifikat===== | ||
| + | |||
| + | ====Self Signed==== | ||
| Konfiguration erstellen. | Konfiguration erstellen. | ||
| Zeile 111: | Zeile 113: | ||
| </ | </ | ||
| + | ====Key Usage==== | ||
| + | |||
| + | <box green> | ||
| + | |||
| + | keyUsage ist eine X.509 v3 Extension, die festlegt, welche kryptografischen Operationen der Schlüssel ausführen darf. | ||
| + | |||
| + | ===KeyUsage=== | ||
| + | |||
| + | ^Wert^Bedeutung^ | ||
| + | | digitalSignature | Unterschreiben von Daten (z.B. TLS-Handshake, | ||
| + | | nonRepudiation | ||
| + | | keyEncipherment | ||
| + | | dataEncipherment | Direktes Verschlüsseln von Nutzdaten | ||
| + | | keyAgreement | ||
| + | | keyCertSign | ||
| + | | cRLSign | ||
| + | | encipherOnly | ||
| + | | decipherOnly | ||
| + | |||
| + | ===ExtendedKeyUsage=== | ||
| + | |||
| + | | Wert | Bedeutung | ||
| + | | **serverAuth** | ||
| + | | **clientAuth** | ||
| + | | **codeSigning** | ||
| + | | **emailProtection** | ||
| + | | **timeStamping** | ||
| + | | **OCSPSigning** | ||
| + | | **msSGC** | ||
| + | | **nsSGC** | ||
| + | | **ipsecEndSystem** | ||
| + | | **ipsecTunnel** | ||
| + | | **ipsecUser** | ||
| + | | **anyExtendedKeyUsage** | Beliebiger Zweck erlaubt (kommt selten vor, unscharf) | ||
| + | | **smartcardLogon** | ||
| + | | **documentSigning** | ||
| + | | **secureEmail** | ||
| + | |||
| + | |||
| + | ===Beispiele=== | ||
| + | |||
| + | Webserver-Zertifikat (TLS/SSL): | ||
| + | |||
| + | < | ||
| + | keyUsage = digitalSignature, | ||
| + | </ | ||
| + | |||
| + | CA-Zertifikat: | ||
| + | |||
| + | < | ||
| + | keyUsage = keyCertSign, | ||
| + | </ | ||
| + | |||
| + | Code Signing: | ||
| + | |||
| + | < | ||
| + | keyUsage = digitalSignature | ||
| + | </ | ||
| + | |||
| + | ====CSR==== | ||
| + | |||
| + | Einen CSR (Certificate signing request) erstellen. | ||
| + | ===OpenSSL Konfig=== | ||
| + | |||
| + | ==Webserver== | ||
| + | < | ||
| + | [ req ] | ||
| + | default_bits | ||
| + | prompt | ||
| + | default_md | ||
| + | distinguished_name | ||
| + | req_extensions | ||
| + | |||
| + | [ dn ] | ||
| + | CN = www.zarat.at | ||
| + | O = Zarat | ||
| + | C = AT | ||
| + | |||
| + | [ req_ext ] | ||
| + | keyUsage = critical, digitalSignature, | ||
| + | extendedKeyUsage = serverAuth | ||
| + | subjectAltName = @alt_names | ||
| + | |||
| + | [ alt_names ] | ||
| + | DNS.1 = www.zarat.at | ||
| + | DNS.2 = zarat.at | ||
| + | </ | ||
| + | |||
| + | ==DocumentSigning== | ||
| + | |||
| + | < | ||
| + | [ req ] | ||
| + | default_bits | ||
| + | prompt | ||
| + | default_md | ||
| + | distinguished_name | ||
| + | req_extensions | ||
| + | |||
| + | [ dn ] | ||
| + | CN = Zarat Signatur | ||
| + | O = Zarat | ||
| + | C = AT | ||
| + | |||
| + | [ req_ext ] | ||
| + | keyUsage = critical, digitalSignature | ||
| + | extendedKeyUsage = codeSigning | ||
| + | subjectAltName = @alt_names | ||
| + | |||
| + | [ alt_names ] | ||
| + | DNS.1 = zarat.at | ||
| + | </ | ||
| + | |||
| + | CSR generieren. | ||
| + | <code bash> | ||
| + | openssl req -new -key private.key -out signing.csr -config openssl-csr.cnf | ||
| + | </ | ||
| + | |||
| + | Diesen CSR sendet man an die CA. | ||
| =====CA erstellen===== | =====CA erstellen===== | ||
| Zeile 202: | Zeile 322: | ||
| pause | pause | ||
| </ | </ | ||
| + | |||
| + | =====Links===== | ||
| + | |||
| + | * [[https:// | ||