def generateKEY(self): if not os.path.exists(self.key): write( self.key, crypto.dump_privatekey(crypto.FILETYPE_PEM, self.pkey, self.parent.cipher, b(self.parent.password)))
def savePEM(self, path, chain=True, root=False): text = self.keyTool("exportcert", "-rfc") if chain: parent = self.parent while parent if root else parent.parent: text += parent.cacert.keyTool("exportcert", "-rfc") parent = parent.parent write(path, text) return self
def savePEM(self, path, chain=True, root=False): text = self.openSSL("x509", outform="PEM") if chain: parent = self.parent while parent if root else parent.parent: text += parent.cacert.openSSL("x509", outform="PEM") parent = parent.parent write(path, text) return self
def savePEM(self, path, chain=True, root=False): text = crypto.dump_certificate(crypto.FILETYPE_PEM, self.x509) if chain: parent = self.parent while parent if root else parent.parent: text += crypto.dump_certificate(crypto.FILETYPE_PEM, parent.cacert.x509) parent = parent.parent write(path, text) return self
def saveKey(self, path, password=None): (_, ext) = os.path.splitext(path) type = crypto.FILETYPE_PEM if ext == ".der" or ext == ".crt" or ext == ".cer": type = crypto.FILETYPE_ASN1 if password: write(path, crypto.dump_privatekey(type, self.pkey, self.parent.cipher, b(password))) else: write(path, crypto.dump_privatekey(type, self.pkey)) return self
def saveKey(self, path, password=None): (_, ext) = os.path.splitext(path) type = crypto.FILETYPE_PEM if ext == ".der" or ext == ".crt" or ext == ".cer": type = crypto.FILETYPE_ASN1 if password: write( path, crypto.dump_privatekey(type, self.pkey, self.parent.cipher, b(password))) else: write(path, crypto.dump_privatekey(type, self.pkey)) return self
def savePKCS12(self, path, password=None, chain=True, root=False, addkey=None): if addkey is None: addkey = self != self.parent.cacert p12 = crypto.PKCS12() p12.set_certificate(self.x509) p12.set_friendlyname(b(self.alias)) if addkey: p12.set_privatekey(self.pkey) if chain: certs = [] parent = self.parent while parent if root else parent.parent: certs.append(parent.cacert.x509) parent = parent.parent p12.set_ca_certificates(certs) write(path, p12.export(b(password or "password"))) return self
def saveDER(self, path): write(path, crypto.dump_certificate(crypto.FILETYPE_ASN1, self.x509)) return self
def generateKEY(self): if not os.path.exists(self.key): write(self.key, crypto.dump_privatekey(crypto.FILETYPE_PEM, self.pkey, self.parent.cipher, b(self.parent.password)))