簡體   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