X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fipsilon.git;a=blobdiff_plain;f=ipsilon%2Ftools%2Fcerts.py;h=3a604883ed3ccd9762bbf79d0fb3243ec548a9b3;hp=dc08e08fc3f2abdca5a467468e53de8419ed1817;hb=c3a2716985604564d46bc5367cf0be5e45d7f14a;hpb=277ed07e8810dbd0adbbf213f56246394753f452 diff --git a/ipsilon/tools/certs.py b/ipsilon/tools/certs.py index dc08e08..3a60488 100755 --- a/ipsilon/tools/certs.py +++ b/ipsilon/tools/certs.py @@ -26,26 +26,28 @@ class Certificate(object): def __init__(self, path=None): self.subject = None - self.path = path self.key = None self.cert = None + if path: + self.path = path + else: + self.path = os.getcwd() def generate(self, prefix, subject): - self.key = '%s.key' % prefix - self.cert = '%s.pem' % prefix + self.key = os.path.join(self.path, '%s.key' % prefix) + self.cert = os.path.join(self.path, '%s.pem' % prefix) self.subject = '/CN=%s' % subject command = ['openssl', 'req', '-x509', '-batch', '-days', '1825', '-newkey', 'rsa:2048', '-nodes', '-subj', self.subject, - '-keyout', os.path.join(self.path, self.key), - '-out', os.path.join(self.path, self.cert)] + '-keyout', self.key, '-out', self.cert] proc = Popen(command) proc.wait() def get_cert(self): if not self.cert: - raise NameError('Invalid certificate name: %s' % self.cert) - with open(os.path.join(self.path, self.cert), 'r') as f: + raise ValueError('Certificate unavailable') + with open(self.cert, 'r') as f: cert = f.readlines() #poor man stripping of BEGIN/END lines