Squid-Kit-TLS-CA als Intermediate: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Die Seite wurde neu angelegt: „=Squid Sub-CA von der eigenen Intermediate CA ausstellen= ==Prüfen ob die eigene Intermediate CA eine Sub-CA ausstellen darf== *openssl x509 -in ./it2XX-ca.c…“
 
Keine Bearbeitungszusammenfassung
Zeile 9: Zeile 9:
;pathlen nicht definiert — beliebig viele Ebenen erlaubt
;pathlen nicht definiert — beliebig viele Ebenen erlaubt


==OpenSSL Konfiguration==
==Key und CSR erstellen==
;Konfigurationsdatei anlegen
;Subject direkt per -subj — keine Config-Datei nötig
*vi proxy-openssl.cnf
*openssl req -new -newkey rsa:4096 -nodes -sha256 -subj "/CN=Squid Sub Intermediate CA" -keyout proxyCA.key.pem -out proxyCA.csr.pem
 
==Extensions für die Sub-CA==
;Extensions im CSR werden von openssl x509 -req ignoriert — sie kommen erst beim Signieren per -extfile ins Zertifikat
*vi sub-ca.ext
<pre>
<pre>
[ req ]
basicConstraints = critical, CA:true, pathlen:0
default_bits      = 4096
default_md        = sha256
prompt            = no
distinguished_name = dn
req_extensions    = req_ca
 
[ dn ]
CN = Squid Sub Intermediate CA
 
[ req_ca ]
basicConstraints = critical, CA:true
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
[ v3_sub_intermediate_ca ]
subjectKeyIdentifier = hash
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
authorityKeyIdentifier = keyid,issuer
basicConstraints = critical, CA:true, pathlen:0
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
</pre>
</pre>
;pathlen:0 — die Squid Sub-CA darf selbst keine weiteren CAs ausstellen
;pathlen:0 — die Squid Sub-CA darf selbst keine weiteren CAs ausstellen
==Key und CSR erstellen==
*openssl req -new -newkey rsa:4096 -nodes -sha256 -keyout proxyCA.key.pem -out proxyCA.csr.pem -config proxy-openssl.cnf


==CSR mit der Kurs-CA signieren==
==CSR mit der Kurs-CA signieren==
*openssl x509 -req -in proxyCA.csr.pem -CA it2XX-ca.crt -CAkey it2XX-ca.key -CAcreateserial -out proxyCA.cert.pem -days 3650 -sha256 -extfile proxy-openssl.cnf -extensions v3_sub_intermediate_ca
*openssl x509 -req -in proxyCA.csr.pem -CA it2XX-ca.crt -CAkey it2XX-ca.key -CAcreateserial -out proxyCA.cert.pem -days 3650 -sha256 -extfile sub-ca.ext
;Wichtig: -extensions v3_sub_intermediate_ca — sonst fehlen die CA-Extensions im Zertifikat


==Ergebnis prüfen==
==Ergebnis prüfen==

Version vom 10. Juni 2026, 11:21 Uhr

Squid Sub-CA von der eigenen Intermediate CA ausstellen

Prüfen ob die eigene Intermediate CA eine Sub-CA ausstellen darf

  • openssl x509 -in ./it2XX-ca.crt -noout -text | grep -A3 "Basic Constraints"
X509v3 Basic Constraints: critical
    CA:TRUE, pathlen:1
pathlen
1 — es darf noch eine CA-Ebene darunter ausgestellt werden
pathlen
0 — es darf KEINE Sub-CA mehr ausgestellt werden
pathlen nicht definiert — beliebig viele Ebenen erlaubt

Key und CSR erstellen

Subject direkt per -subj — keine Config-Datei nötig
  • openssl req -new -newkey rsa:4096 -nodes -sha256 -subj "/CN=Squid Sub Intermediate CA" -keyout proxyCA.key.pem -out proxyCA.csr.pem

Extensions für die Sub-CA

Extensions im CSR werden von openssl x509 -req ignoriert — sie kommen erst beim Signieren per -extfile ins Zertifikat
  • vi sub-ca.ext
basicConstraints = critical, CA:true, pathlen:0
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid,issuer
pathlen
0 — die Squid Sub-CA darf selbst keine weiteren CAs ausstellen

CSR mit der Kurs-CA signieren

  • openssl x509 -req -in proxyCA.csr.pem -CA it2XX-ca.crt -CAkey it2XX-ca.key -CAcreateserial -out proxyCA.cert.pem -days 3650 -sha256 -extfile sub-ca.ext

Ergebnis prüfen

  • openssl x509 -in proxyCA.cert.pem -noout -text | grep -A3 "Basic Constraints"
X509v3 Basic Constraints: critical
    CA:TRUE, pathlen:0
  • openssl verify -CAfile it2XX-ca.crt proxyCA.cert.pem
proxyCA.cert.pem: OK

Zertifikate für Squid zusammenführen

Datei enthält den privaten Key — Zugriffsrechte einschränken
  • cat proxyCA.cert.pem it2XX-ca.crt proxyCA.key.pem > squid-subca.pem
  • chmod 600 squid-subca.pem