Ich muss meinem Standard-CA-Zertifizierungspaket eine PEM-Zertifizierungsdatei hinzufügen, weiß jedoch nicht, wo das Standard-CA-Zertifizierungspaket aufbewahrt wird.
Ich muss meine neue PEM-Datei an dieses Standardpaket anhängen. Ich würde das lieber tun, als meinen eigenen Standort mit --capath anzugeben
cURL weiß genau, wo es zu suchen ist, aber ich sehe keine cURL-Befehle, die die Position offenbaren. Gibt es einen Befehl, der diesen Ort enthüllt? Wie kann ich es finden?
Laut cURL:
Fügen Sie das CA-Zertifikat für Ihren Server zum vorhandenen Standard-CA-Zertifikat-Bundle hinzu. Der Standardpfad des verwendeten CA-Bundles kann geändert werden, indem Sie configure mit der Option --with-ca-bundle ausführen und den Pfad Ihrer Wahl angeben.
Vielen Dank
quelle
Antworten:
Laufen
curl
mitstrace
könnte Ihnen einen Hinweis geben.Viele Ausgaben, aber kurz vor dem Ende sehe ich:
In diesem Ordner werden meine Zertifikate gespeichert.
quelle
strace
!strace
anscheinend nicht auf macOS verfügbar. Das "Äquivalent"dtruss
sagte mir "dtrace: dtrace konnte nicht initialisiert werden: DTrace erfordert zusätzliche Berechtigungen". Also habe ichsudo
es benutzt. Auf die es antwortete "Dtrace: Curl konnte nicht ausgeführt werden: Dtrace kann keine ausführbaren Dateien steuern, die mit eingeschränkten Berechtigungen signiert sind". Nicht sehr hilfreich.Es sollte ein Programm 'curl-config' in curls 'bin /' geben, dh wo sich die 'curl'-Binärdatei befindet.
./curl-config --ca
gibt den Installationspfad für das ca-Bundle an.
Ich habe gerade eine whatis-curl-Konfiguration durchgeführt: "Informationen über eine libcurl-Installation abrufen". Ich denke, diese ist nur verfügbar, wenn libcurl installiert wurde.
quelle
curl-config
Programm ist nicht für alle Versionen des Programms oder der Installationen verfügbar. Einige Administratoren verstehen möglicherweise nicht den Zweck des Programms und installieren es nicht, weil sie glauben, dass es sich nur um ein Build-Konfigurations-Tool handelt. Wenn der Benutzer, der das Programm benötigt, nicht der Administrator eines Systems ist, kann er es nicht installieren. Ich habe Zugriff auf zwei Systeme, eines hat dieses Programm nicht, das andere gibt keine Ausgabe für auscurl-config --ca
.strace
sollte nicht erforderlich sein, Konfigurationsinformationen zu finden.Ich habe einen einfachen Weg gefunden: Benutze den
--cacert
mit einem falschen Dateinamen, die Ausgabe wird den Pfad anzeigen.Beispiel:
quelle
Linux (Ubuntu, Debian)
Kopieren Sie Ihre CA nach dir / usr / local / share / ca-certificates /
Aktualisieren Sie den CA-Speicher
Entfernen Sie Ihre Zertifizierungsstelle und aktualisieren Sie den Zertifizierungsstellenspeicher:
Linux (CentOs 6)
Installieren Sie das Paket "ca-certificates":
Aktivieren Sie die dynamische CA-Konfigurationsfunktion: update-ca-trust force-enable Fügen Sie sie als neue Datei hinzu, um
/etc/pki/ca-trust/source/anchors/
:Linux (CentOs 5)
Hängen Sie Ihr vertrauenswürdiges Zertifikat an die Datei an
/etc/pki/tls/certs/ca-bundle.crt
https://manuals.gfi.com/de/kerio/connect/content/server-configuration/ssl-certificates/adding-trusted-root-certificates-to-the-server-1605.html Sehr schöner Link, der erklärt, wie man es zu mehreren populären Betriebssystemen hinzufügt.
quelle
Sie können das CA Root Certificates-Bundle von haxx.se herunterladen, die die Entwickler von curl sind. Fügen Sie dann einfach Ihr Zertifikat in die .pem-Datei ein und beziehen Sie sich darauf, wenn Sie curl mit der Option --cacert verwenden
quelle
-v
mit https in der URL.quelle
-k
Option hinzugefügt , um festzustellen, ob es einen Unterschied gibt. Es gab keinen Unterschied.Der Standardspeicherort des CA-Bundles ist vom Betriebssystem abhängig. Auf RHEL5 befindet es sich in /etc/pki/tls/certs/ca-bundle.pem. Unter anderen Linux- oder Nicht-Linux-Betriebssystemen kann es sich um ein anderes Betriebssystem handeln.
quelle