本文整理汇总了Python中cpc.util.conf.server_conf.ServerConf.getPrivateKey方法的典型用法代码示例。如果您正苦于以下问题:Python ServerConf.getPrivateKey方法的具体用法?Python ServerConf.getPrivateKey怎么用?Python ServerConf.getPrivateKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类cpc.util.conf.server_conf.ServerConf
的用法示例。
在下文中一共展示了ServerConf.getPrivateKey方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: RawServerMessage
# 需要导入模块: from cpc.util.conf.server_conf import ServerConf [as 别名]
# 或者: from cpc.util.conf.server_conf.ServerConf import getPrivateKey [as 别名]
class RawServerMessage(ClientBase):
"""Raw named server-to-server messages for messages to servers that are not
yet in the topology.
These messages should all communicate on the client port
"""
def __init__(self,host=None,port=None):
self.conf = ServerConf()
self.host = host
self.port = port
if self.host == None:
self.host = self.conf.getServerHost()
if self.port == None:
self.port = self.conf.getServerSecurePort()
self.privateKey = self.conf.getPrivateKey()
self.keychain = self.conf.getCaChainFile()
def sendAddNodeRequest(self,host):
"""
"""
conf = ServerConf()
cmdstring ='connect-server-request'
fields = []
input=Input('cmd',cmdstring)
inf = open(conf.getCACertFile(), "r")
key = inf.read()
nodeConnectRequest = NodeConnectRequest(conf.getServerId()
,conf.getClientSecurePort()
,conf.getServerSecurePort()
,key
,conf.getFqdn()
,conf.getHostName())
input2=Input('nodeConnectRequest',
json.dumps(nodeConnectRequest,
default=json_serializer.toJson,
indent=4))
input3=Input('unqalifiedDomainName',host)
fields.append(input)
fields.append(input2)
fields.append(input3)
fields.append(Input('version', "1"))
# this goes over the client Secure Port, and we don't want the server to use
# cookies
response= self.postRequest(ServerRequest.prepareRequest(fields),
require_certificate_authentication=False,
disable_cookies=True)
return response
def addNodeAccepted(self):
conf = ServerConf()
inf = open(conf.getCACertFile(), "r")
key = inf.read()
#only sending fqdn the requesting should already know the unqualified
# hostname
node = NodeConnectRequest(conf.getServerId(),
conf.getClientSecurePort(),
conf.getServerSecurePort(),
key,
conf.getFqdn(),
None)
cmdstring ='node-connection-accepted'
fields = []
input=Input('cmd',cmdstring)
input2=Input('connectRequest',
json.dumps(node,default=json_serializer.toJson,indent=4))
fields.append(input)
fields.append(input2)
fields.append(Input('version', "1"))
# this goes over client secure port , and we don't want the server to use
# cookies
response= self.postRequest(ServerRequest.prepareRequest(fields),
require_certificate_authentication=False,
disable_cookies=True)
return response
示例2: OpenSSL
# 需要导入模块: from cpc.util.conf.server_conf import ServerConf [as 别名]
# 或者: from cpc.util.conf.server_conf.ServerConf import getPrivateKey [as 别名]
class OpenSSL(object):
'''
A class used by the server to generate CA and perform certificate signing
'''
def __init__(self, cn=None):
self.conf = ServerConf()
self.cn = cn or self.conf.getHostName() or socket.getfqdn()
def setupCA(self):
'''creates keypair and certificate for the CA'''
#create certificate env
if (not os.path.isdir(self.conf.getCAKeyDir())):
os.makedirs(self.conf.getCAKeyDir())
if (not os.path.isdir(self.conf.getCACertDir())):
os.makedirs(self.conf.getCACertDir())
self._generateCA()
self._generateKeyPair(self.conf.getCAPrivateKey(),
self.conf.getCAPublicKey())
self._generateRootCert()
self._generateCaChainFile()
def setupClient(self):
'''
Creates a connection bundle for the Client and worker
@returns ConnectionBundle
'''
connectionBundle = ConnectionBundle(create=True, fqdn=self.cn)
serverConf = ServerConf()
#generate random ascii string
randstring = ''.join(
random.choice(string.ascii_uppercase + string.digits) for x in
range(6))
tempDir = "%s/tmp/%s" % (self.conf.getConfDir(), randstring)
privKeyFile = "%s/priv.pem" % tempDir
pubKeyFile = "%s/pub.pem" % tempDir
certReqConfigFile = "%s/cert_req.txt" % tempDir
certFile = "%s/cert.pem" % tempDir
os.makedirs(tempDir) #we create a temp dir for intermediate files
self._generateKeyPair(privKeyFile=privKeyFile, pubKeyFile=pubKeyFile)
self._generateCertReqConf(
distinguished_cn="%s_%s" % (connectionBundle.CN_ID, self.cn),
certReqConfigFile=certReqConfigFile)
self._generateCert(privKeyFile, certFile, certReqConfigFile)
#now we need to read everything in to the connection bundle
connectionBundle.setPrivateKey(open(privKeyFile, 'r').read())
connectionBundle.setPublicKey(open(pubKeyFile, 'r').read())
connectionBundle.setCert(open(certFile, 'r').read())
connectionBundle.setCaCert(open(self.conf.getCACertFile(), "r").read())
shutil.rmtree(tempDir)
connectionBundle.setClientSecurePort(
serverConf.getClientSecurePort())
connectionBundle.setServerSecurePort(
serverConf.getServerSecurePort())
connectionBundle.setHostname(ServerConf().getHostName())
return connectionBundle
def setupServer(self):
if (not os.path.isdir(self.conf.getKeyDir())):
os.makedirs(self.conf.getKeyDir())
self._generateKeyPair()
self._generateCertReqConf(
distinguished_cn=self.cn + "_" + self.conf.CN_ID,
certReqConfigFile=self.conf.getCertReqConfigFile())
self._generateCert(self.conf.getPrivateKey(),
self.conf.getCertFile(),
certReqConfigFile=self.conf.getCertReqConfigFile())
self._createDefaultLogConfig()
def _generateCA(self):
'''set up a CA configuration'''
if (not os.path.isfile(self.conf.getCASerialFile())):
f = open(self.conf.getCASerialFile(), 'w')
f.write('01')
f.close()
if (not os.path.isfile(self.conf.getCAIndexFile())):
f = open(self.conf.getCAIndexFile(), 'w')
f.close()
self._generateCaConf()
def _generateCaChainFile(self):
#.........这里部分代码省略.........