
third-party-ca
Ich möchte eine Root-CA eines Drittanbieters ( ) mit meiner eigenen Root-CA ( ) kreuzsignieren r1
. (Hintergrund:Nutzungseinschränkung)
Dazu verwende ich
openssl x509-in third-party-ca.crt -CA /etc/pki/r1/ca.crt -CAkey /etc/pki/r1/private/ca.key -out third-party-ca-cross-signed.crt -set_serial 1000
Dies funktioniert, behält aber das Authority Key Identifier
von bei , das in das von third-party-ca
geändert werden müsste . (Ein praktisches Beispiel finden Sie unter letsencryptSubject Key Identifier
r1
ISRG X1 kreuzsigniertvonDST-Stammzertifizierungsstelle X3)
Ich kann ein weiteres hinzufügen, Authority Key Identifier
indem ich ein erstelle akiext
und verwende -extfile akiext
. Dies führt jedoch zu zwei Authority Key Identifier
's.
Wie kann ich das Vorhandene ersetzen Authority Key Identifier
?
Antwort1
In openssl x509
der Kommandozeile können Sie Erweiterungen nicht selektiv löschen. Sie können sie -clrext
mit löschen.alleGeben Sie Erweiterungen ein und konfigurieren Sie darin -extfile
die bereits vorhandenen Erweiterungen, die Sie möchten (mindestens BC und KU).Plusdie neuen. Beachten Sie, dass öffentliche untergeordnete oder übergreifende CA-Zertifikate – wie das von Ihnen verlinkte – wahrscheinlich AIA und/oder CRLDP sowie AKI enthalten.alledavon sind nur für den Aussteller/das übergeordnete Element korrekt, den Sie ersetzen, und sollten daher ersetzt (oder entfernt) werden.
Alternativ können Sie Code schreiben. Verwenden Sie dazu denAPIist unkompliziert. Aber das gehört wahrscheinlich zu SO oderVielleichtsecurity.SX statt hier. (Und von Ihnen wird erwartet, dass Sie einen Teil der Arbeit erledigen.)
In Ihrem konkreten Beispiel ist ISRG Root X1 sowohl kreuzsigniert von Identrust DST X3 als auchals Wurzel-- wenn Sie vom Root-Zertifikat ausgehen, hat es kein AKIoderAIA/CRLDP, die entfernt werden müssen.
Update: Wie einnachfolgende verwandte FrageOpenSSL 3.0.0 und höher erlaubt keine Eingaben von Nicht-Root-Benutzern; es erfordert, dass das alte Zertifikat selbstsigniert ist (ein Root-Benutzer). Kommentare in der Quelle zeigen, dass dies immer beabsichtigt war, obwohl es bisher nicht effektiv durchgesetzt wurde.