2017-03-16 2 views
0

Ich arbeite an Windows 10. Ich möchte Anwendung erstellen, die die OutlookAPI verwenden wird. Also folgte ich dem Tutorial Tutorial unter Write a Ruby on Rails app to get Outlook mail.Faraday :: SSLError und "Zertifikat überprüfen fehlgeschlagen"

Ich habe von dieser Ausgabe von SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed wie unten gezeigt konfrontiert;

enter image description here

Ausgabe erscheint oben, wenn ich zu getToken versuchen, nachdem die Authentifizierungsstufe erfolgreich war.

Ich würde von irgendwelchen Vorschlägen geschätzt werden.

+0

Zwei Anfragen .. (1) Bitte geben Sie die Fehler an. Der Text auf dem Bild ist zu klein zum Lesen. Darüber hinaus kann der Text von Suchmaschinen für zukünftige Besucher nicht indiziert werden. (2) Veröffentlichen Sie die URL, die Sie für die Verbindung zum Server verwenden, und geben Sie die Ausgabe von 'openssl s_client -connect : -tls1 -servername | openssl x509 -text -noout'. Tun Sie dies, indem Sie es zu Ihrer Frage hinzufügen, indem Sie auf * Bearbeiten * klicken (und nicht als Kommentar veröffentlichen). Ansonsten können wir es nicht reproduzieren und es gibt nicht genug Informationen, um bei der Fehlerbehebung zu helfen. – jww

+0

Ich weiß nicht, wie Sie Ihr Zertifikat erstellt haben, aber *** 'CN = example.com' *** ist wahrscheinlich falsch. Hostnamen gehen immer in das * SAN *. Wenn es im * CN * vorhanden ist, muss es auch im * SAN * vorhanden sein (in diesem Fall müssen Sie es zweimal auflisten). Weitere Regeln und Gründe finden Sie unter [Wie unterschreiben Sie eine Zertifikatsignierungsanforderung mit Ihrer Zertifizierungsstelle] (http://stackoverflow.com/a/21340898/608639) und [So erstellen Sie ein selbstsigniertes Zertifikat mit openssl?] (http://stackoverflow.com/q/10175812/608639) – jww

Antwort

-1
sudo port install curl-ca-bundle 

und erzählen Sie Ihren https Objekt, das es nutzen:

https.ca_file = '/opt/local/share/curl/curl-ca-bundle.crt' 

Beachten Sie, wenn Sie Ihren Code auf Ubuntu ausführen möchten, müssen Sie stattdessen das ca_path Attribut setzen, mit dem Standard-Zertifikate Standort/etc/ssl/certs.

OR

In folgenden Code in initializer:

require 'openssl' 
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE 
+0

Ich habe vergessen zu erwähnen, dass ich auf Windows10 OS arbeite. –

+0

versuchen erfordern 'openssl' OpenSSL :: SSL :: VERIFY_PEER = OpenSSL :: SSL :: VERIFY_NONE – puneet18

+0

Es funktioniert. Danke vielmals. Könnten Sie mir bitte erklären, warum es 'erfordert' OpenSSL ' OpenSSL :: SSL :: VERIFY_PEER = OpenSSL :: SSL :: VERIFY_NONE' mir helfen? –

0

Try Zugabe gem 'zertifiziert' in Ihrem gemfile und führen Bündel installieren.

gem 'certified' 
bundle install 
+0

Ich habe versucht, 'Gem Install' zertifiziert ', Bundle installieren, aber leider funktioniert es nicht. –

Verwandte Themen