繁体   English   中英

CherryPy SSL链式证书

[英]CherryPy SSL Chained Certificates

我正在尝试让CherryPy使用SSL。

我遇到的第一个问题是Ubuntu上的当前版本不支持该版本,因此我已升级到最新版本,并使其可以使用自签名证书。

然后,我从GoDaddy获得了链接的证书。 我向他们提供此命令的输出:

openssl req -new -newkey rsa:2048 -nodes -out  [private info]

然后,他们返回了两个文件:.crt和gd_bundle.crt。 第一个包含:一个----- BEGIN CERTIFICATE -----证书----- END CERTIFICATE -----

第二个包含3,如上。

CherryPy是否可以使用链式证书? 我已经看到此链接指出它需要修补,并按建议进行尝试,但是修补失败,该方法无效。

请有人可以解释我所缺少的内容或解决方法。

CherryPy至少从2011年起就支持中间证书(不确定版本)。 它也被记录下来,如果您准确地阅读了“ 部署SSL支持文档”部分,则可能会注意到以下内容。

如果您有证书链,也可以指定它: cherrypy.server.ssl_certificate_chain = "certchain.perm"

如您所知,CherryPy 3.6的最新版本具有SSL套接字问题,但已在开发分支中进行了修复,您可以从存储库中安装它,例如:

pip install hg+https://bitbucket.org/cherrypy/cherrypy

测试可能看起来像这样。

#!/usr/bin/env python
# -*- coding: utf-8 -*-


import cherrypy


config = {
  'global' : {
    'server.socket_host' : '127.0.0.1',
    'server.socket_port' : 8080,
    'server.thread_pool' : 8,

    'server.ssl_module'            : 'pyopenssl',
    'server.ssl_certificate'       : '/path/to/certs/domain.com.crt',
    'server.ssl_certificate_chain' : '/path/to/certs/ssl123_ca_bundle.pem',
    'server.ssl_private_key'       : '/path/to/certs/domain.com.key',
  }
}


class App:

  @cherrypy.expose
  def index(self):
    return '<em>Is this secure?</em>'


if __name__ == '__main__':
  cherrypy.quickstart(App(), '/', config)

相关安全警告

确保您阅读了这个问题 出于安全原因,我强烈建议您使用Python 2.7.9+或Python 3.4+或将pyOpenSSL与最新的OpenSSL结合使用。 另外,不要忘了使用全面的SSL测试仪(例如Qualys)测试您的部署。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM