codecamp

CherryPy 创建证书和私钥

让我们来处理证书和私钥的要求 -

  • 首先,用户需要私钥 -
openssl genrsa -out server.key 2048
  • 此密钥不受密码保护,因此具有弱保护。
  • 将发出以下命令 -
openssl genrsa -des3 -out server.key 2048
  • 该程序将需要密码。 如果您的OpenSSL版本允许您提供空字符串,请执行此操作。 否则,输入默认密码,然后将其从生成的密钥中删除,如下所示 -
openssl rsa -in server.key -out server.key
  • 证书的制作如下 -
openssl req -new -key server.key -out server.csr
  • 此过程将要求您输入一些详细信息。 为此,必须发出以下命令 -
openssl x509 -req -days 60 -in server.csr -signkey
server.key -out server.crt
  • 新签署的证书有效期为60天。

以下代码显示了其实现 -

import cherrypy
import os, os.path
localDir = os.path.abspath(os.path.dirname(__file__))
CA = os.path.join(localDir, 'server.crt')
KEY = os.path.join(localDir, 'server.key')
def setup_server():
class Root:
@cherrypy.expose
def index(self):
   return "Hello there!"
cherrypy.tree.mount(Root())
if __name__ == '__main__':
setup_server()
cherrypy.config.update({'server.socket_port': 8443,
   'environment': 'production',
   'log.screen': True,
   'server.ssl_certificate': CA,
   'server.ssl_private_key': KEY})
cherrypy.server.quickstart()
cherrypy.engine.start()

下一步是启动服务器; 如果您成功,您将在屏幕上看到以下消息 -

HTTP Serving HTTPS on https://localhost:8443/


CherryPy SSL
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

CherryPy 一个工作应用程序

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }