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…“)
 
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