首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复https openid错误

如何修复https openid错误
EN

Stack Overflow用户
提问于 2013-04-27 10:53:03
回答 1查看 1.2K关注 0票数 6

我使用本地https协议和假证书。

当使用django-openid-auth时,它会给出以下错误:

代码语言:javascript
复制
OpenID failed

OpenID discovery error: Error fetching XRDS document: (60, 'server certificate         verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none')

我怎么才能解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2013-10-03 07:06:52

根据我的经验,在大多数情况下,验证器在自签名证书上很挑剔.

通常,当使用“假”证书时,您应该始终采取额外的步骤,创建一个假CA,并与CA签署假证书。如果没有其他的话,这使您的测试更像是一个真实的场景。

以下是关于如何使用OpenSSL实现此操作的简要说明:

  1. 创建CA (自签名) openssl req -x509 -new -out ca.crt -keyout ca.key -days 3650
  2. 创建服务器密钥和csr openssl req -out server.csr -pubkey -new -keyout server.secure.key
  3. 去掉密码openssl rsa -in server.secure.key -out server.key
  4. 使用CA openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 1825签名服务器证书
  5. (对于进一步的证书,请使用现有的序列号openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAserial ca.srl -out server.crt -days 1825)

每当您遇到任何SSL (不仅仅是HTTPS)问题时,请使用原始openssl进行调试。

代码语言:javascript
复制
openssl s_verify -connect <hostname>:<portnumber> <options>

例如:

代码语言:javascript
复制
openssl s_verify -connect localhost:443 -CAfile myfakeca.pem

这通常会为您解决实际证书中与代码无关的问题节省很多麻烦。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16251231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档