python 数字证书_用于生成WebService使用的数字证书及签署证书.python脚本

这个Python脚本用于生成WebService使用的证书权威(CA)并签署证书。用户需提供身份信息,包括省份、城市、单位、部门、姓名和电子邮件,这些信息会被附加到证书上,以验证身份。脚本通过调用OpenSSL命令行工具来创建CA和证书,并允许设置调试模式。
摘要由CSDN通过智能技术生成

#! /bin/env python

# -*- encoding:gbk -*-

"""

用于生成WebService使用的CA及并且签署证书

"""

import sys,shutil,os,subprocess,getpass

configure={"debug":False}

def quiet_run(cmd,argstr=None):

nf=file(os.devnull,"rw")

if configure["debug"]:

p=subprocess.Popen(cmd,stdin=subprocess.PIPE)

else:

p=subprocess.Popen(cmd,stdin=subprocess.PIPE,stdout=nf,stderr=nf) if argstr is not None:

p.stdin.write(argstr)

p.stdin.write("\n")

p.stdin.flush()

p.wait()

def get_indentity():

"""取得用户身份信息"""

print "请输入你的身份信息,这些信息将被附加到证书上,以便于客户确认您的身份"

print "只输入英文"

identity={}

identity["C"]="CN"

identity["ST"]=raw_input("请输入您的省份:")

identity["L"]=raw_input("请输入您的城市:")

identity["O"]=raw_input("请输入您的单位名称:")

identity["OU"]=raw_input("请输入您的部门名称:")

identity["CN"]=raw_input("请输入您的名字:")

identity["EMAILADDRESS"]=raw_input("请输入您的电子邮箱地址:")

#连接成OpenSSL要求的X500格式字符串

subj="".join(["/"+"=".join((key,identity[key])) for key in identity if len(identity[key])>0])

print "您的身份认证信息是%s"%subj

print

return subj

def create_ca():

#取得用户身份

subj=get_indentity()

#要求输入密码和证书文件名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值