class OpenSSL::X509::Store

Der X509 Zertifikatsspeicher enthält vertrauenswürdige CA-Zertifikate, die zur Überprüfung von Peer-Zertifikaten verwendet werden.

Der einfachste Weg, einen nützlichen Zertifikatsspeicher zu erstellen, ist

cert_store = OpenSSL::X509::Store.new
cert_store.set_default_paths

Dies verwendet die integrierten Zertifikate Ihres Systems.

Wenn Ihr System keine Standardzertifikate hat, können Sie ein Set von Zertifikaten erhalten, die aus dem Mozilla CA Zertifikatsspeicher von den cURL-Maintainern hier extrahiert wurden: curl.haxx.se/docs/caextract.html (Sie möchten möglicherweise das Skript firefox-db2pem.sh verwenden, um die Zertifikate aus einer lokalen Installation zu extrahieren, um Man-in-the-Middle-Angriffe zu vermeiden.)

Nachdem Sie eine cacert.pem von obigem Link heruntergeladen oder generiert haben, können Sie einen Zertifikatsspeicher aus der Pem-Datei wie folgt erstellen:

cert_store = OpenSSL::X509::Store.new
cert_store.add_file 'cacert.pem'

Der Zertifikatsspeicher kann wie folgt mit einem SSLSocket verwendet werden:

ssl_context = OpenSSL::SSL::SSLContext.new
ssl_context.verify_mode = OpenSSL::SSL::VERIFY_PEER
ssl_context.cert_store = cert_store

tcp_socket = TCPSocket.open 'example.com', 443

ssl_socket = OpenSSL::SSL::SSLSocket.new tcp_socket, ssl_context