2014-09-12 101 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