2014-09-12 56 views
0

我想使用Django構建一個簡單的Web應用程序。我希望使用Mozilla Persona進行驗證的最小用戶模型。使用Persona可以順利地進行,直到SSL證書在將認證(成功或失敗)扔回Django應用程序時失敗。SSL證書使用Django和Mozilla驗證失敗

我知道Stack Overflow上有很多關於SSL錯誤的內容,但是我還沒有發現任何在這種情況下可用的東西。例如,在使用requests軟件包時嘗試使用verify = False仍會產生錯誤。

我能夠使用新的Django項目的默認設置並遵循django_browserid的樣板安裝,在最小示例應用程序中複製錯誤。即使這可能被黑客入侵,如果有人知道如何補救這個令人討厭的錯誤,那麼在django_browserid文檔或Persona文檔中可能值得注意。

我已經把這個小例子,有說明書上GitHub.com在:

https://github.com/pedmiston/ssl_error

實際的錯誤是,與[BLOB]取代到位斷言。

Error while verifying assertion [blob] with audience http://localhost:8000. 
[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:598) 

我在OSX小牛隊。


更新:我能得到的最少例如使用sigmavirus24的答案傳遞,通過添加以下到我的virtualenv的src/django_browserid/base.py

class RemoteVerifier(object): 
    """ 
    Verifies BrowserID assertions using a remote verification service. 

    By default, this uses the Mozilla Persona service for remote verification. 
    """ 
    verification_service_url = 'https://verifier.login.persona.org/verify' 
    requests_parameters = { 
     'timeout': 5, 
     'verify': False, 
    } 
    # ... 

這是偉大的,它得到最小的例子傳遞(並保證我這不是真的django_browserid或Persona錯誤?)。

但是,它只是繞過驗證程序的優點。現在這個錯誤已經被本地化,如何解決它的任何建議?

我一直在讀,當小牛出現時,在從open_ssl切換到Apple自己的安全傳輸引擎時,OS X發生了一些變化。如果這是我遇到的問題的原因,那麼在使用小牛時遇到類似問題的其他人可能值得了解。

回答

1

看看你的示例應用程序,它是唯一的依賴,看起來你的麻煩來自this linedjango_browserid。我不熟悉你的應用程序或django_browserid,但如果你可以通過verify=Falsehttps://github.com/mozilla/django-browserid/blob/66641335751b869562ba7a554e61ca56bc880257/django_browserid/base.py#L167這應該可以解決你的問題。換句話說,如果你指定使用的驗證,那麼它應該像做

verifier = RemoteVerifier() 
verifier.requests_parameters['verify'] = False 

# or 

verifier.verify(verify=False) 

當然你並沒有顯示在您這樣做,是讓可能是當你說你是什麼意思的任何代碼:

例如,在使用請求包時嘗試使用verify = False仍會產生錯誤。

但我無法從您發佈的代碼中判斷出這一點。

+0

謝謝sigmavirus24。我更新了我的答案,以表明您正確地假設我沒有正確傳遞verify = False參數。但是,我移動了一些門柱:有沒有可能幫助我在不繞過驗證過程的情況下登錄? – pedmiston 2014-09-13 13:51:19

+0

@pedmiston移動球門柱是不允許的。你應該用你的*新問題開一個不同的問題。此外,我的建議並不是修改圖書館的來源,而是改變對圖書館的使用,因爲這看起來有可能做到。 – 2014-09-13 14:02:09

+0

根據您的要求:http://stackoverflow.com/questions/25835554/ssl-certificate-verification-failure-in-python-on-mavericks – pedmiston 2014-09-14 16:40:50

相關問題