Ich benutze Ubuntu 12.04LTS Desktop, um eine Shopify-App zu entwickeln (mit dem Juwel shify_app), und ich habe dieses Problem bei der Verarbeitung der Callback-URL festgestellt.
%Vor%Mit Blick auf die Gruppe "shopify-app-discuss" hier und hier scheint das Problem mit Ubuntu 12.04 und seinem OpenSSL zu sein. Ich habe versucht, das aktuellste OpenSSL zu installieren, aber nichts. Eine Alternative, die ich gefunden fand, war die Verwendung eines anderen, älteren OpenSSL, eines, das RVM bietet.
%Vor%Und jetzt funktioniert die Shopify App gut. Es kann eine Verbindung zur API herstellen. (Dieser Tipp kann anderen Benutzern von Ubuntu 12.04 helfen!)
Meine Frage lautet also: Ist das die beste Lösung? Ich bin ein bisschen besorgt über die ältere OpenSSL-Version. Es könnte einige Sicherheitsprobleme haben. Ist es sicher, die App damit zu entwickeln?
Und gibt es bei der Bereitstellung der App (z. B. Heroku) ein Sicherheitsproblem mit einem älteren OpenSSL?
Vielen Dank im Voraus!
Die anderen Vorschläge haben bei uns nicht funktioniert. Insbesondere mussten wir :SSLv3
anstelle von :TLSv1
erzwingen. (Sowohl für die Aktie Ubuntu 12.04.01 Ruby 1.9.3 als auch für die, die wir vom Passenger PPM verwenden.)
Außerdem muss überprüft werden, ob @ssl_options
definiert ist. Ich habe den von der ActiveResource Implementierung kopiert.
Wir haben das in config/initializers/shopify_ssl.rb
fallen lassen und alles ist peachy:
Obwohl die neueste Version von OpenSSL eine heilige Ehe mit noch nicht erkannten Sicherheitslücken ist, würde ich sagen, dass Sie die Bibliothek verwenden sollten, die in diesem Moment für Sie arbeitet. Es gibt keine Software ohne Sicherheitslücken, und wenn Sie die Serverseite nicht beeinflussen können, um auf etwas zu aktualisieren, das mit den neuesten SSL-Versionen kompatibel ist, sind Ihre Möglichkeiten leider eingeschränkt.
Wenn Sie die neueste OpenSSL-Bibliothek verwenden, versucht Ihr Client höchstwahrscheinlich, eine Verbindung über TLS 1.2 herzustellen, eines der neueren SSL / TLS-Protokolle, die in HTTPS verwendet werden. Unsere Load-Balancing-Hardware hat ein bekanntes Problem mit TLS 1.2, obwohl wir uns dessen nicht bewusst waren, bis ich selbstständig über diesen Fehler selbst stolperte.
Ich habe den Rest des Operations-Teams darauf aufmerksam gemacht, und ich erwarte, dass wir das so schnell wie möglich beheben werden. Bis dahin können Sie
verwenden http.ssl_version = :TLSv1
, um Ruby zu zwingen, stattdessen TLS 1.0 zu verwenden.
Im Folgenden finden Sie ein Beispiel für die Anwendung dieser Problemumgehung auf ActiveResource, das Juwel, das intern von shopify_api
verwendet wird:
Jetzt können Sie
verwenden ShopifyAPI::Base.ssl_options = {:ssl_version => :TLSv1}
um das Problem zu umgehen.
Sie sollten immer die letzte Version von OpenSSL verwenden.
Tags und Links oauth linux openssl shopify ubuntu-12.04