it-swarm.com.de

Standardspeicherort für CA Cert Bundle

Ich muss meinem Standard-CA-Zertifikatspaket eine PEM-Zertifizierungsdatei hinzufügen, weiß jedoch nicht, wo das Standard-CA-Zertifikatspaket 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 suchen muss, aber ich sehe keine cURL-Befehle, die den Ort anzeigen. Gibt es einen Befehl, der diesen Ort anzeigt? Wie kann ich es finden?

Laut cURL :
Fügen Sie das CA-Zertifikat für Ihren Server zum vorhandenen Standard-CA-Zertifikatspaket 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

22
Slinky

Wenn Sie curl mit strace ausführen, erhalten Sie möglicherweise einen Hinweis.

 Strace Curl https://www.google.com | & grep open 

Viel Output, aber kurz vor dem Ende sehe ich:

 open ("/ etc/ssl/certs/578d5c04.0", O_RDONLY) = 4 

dort werden meine Zertifikate gespeichert.

22
Flup

Es sollte ein Programm 'curl-config' in curls 'bin /' geben, d. H. Dort, 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", daher denke ich, dass sie nur verfügbar sein wird, wenn libcurl installiert wurde, was allerdings Standard ist.

18
lm713

Ich habe einen einfachen Weg gefunden: benutze das --cacert mit einem falschen Dateinamen zeigt die Ausgabe den Pfad an.

Beispiel:

~$ curl --cacert non_existing_file https://www.google.com
curl: (77) error setting certificate verify locations:
  CAfile: non_existing_file
  CApath: /etc/ssl/certs
10
Chananel P

Linux (Ubuntu, Debian)

Kopieren Sie Ihre Zertifizierungsstelle nach dir/usr/local/share/ca-certificates /

Sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt

Aktualisieren Sie den CA-Speicher

Sudo update-ca-certificates

Entfernen Sie Ihre Zertifizierungsstelle und aktualisieren Sie den Zertifizierungsstellenspeicher:

Sudo update-ca-certificates --fresh

Linux (CentOs 6)

Installieren Sie das ca-Zertifikate-Paket:

yum install ca-certificates

Aktivieren Sie die dynamische CA-Konfigurationsfunktion: update-ca-trust force-enable Fügen Sie sie als neue Datei zu /etc/pki/ca-trust/source/anchors/:

cp foo.crt /etc/pki/ca-trust/source/anchors/
update-ca-trust extract

Linux (CentOs 5)

Hängen Sie Ihr vertrauenswürdiges Zertifikat an die Datei /etc/pki/tls/certs/ca-bundle.crt

cat foo.crt >>/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 ihn zu mehreren gängigen Betriebssystemen hinzufügt.

4
BiG_NoBoDy

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

2
iammyr

-v mit https in der URL.

$ curl -v https://google.com
* Rebuilt URL to: https://google.com/
* timeout on name lookup is not supported
*   Trying 172.217.9.174...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0* Connected to google.com (172.217.9.174) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
*   *CAfile: C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt*
1
Philip Rego

Der Standardspeicherort des CA-Bundles ist vom Betriebssystem abhängig. Auf RHEL5 befindet es sich in /etc/pki/tls/certs/ca-bundle.pem. Bei anderen Linux- oder Nicht-Linux-Betriebssystemen befindet es sich möglicherweise an einem anderen Ort.

0
John