def from_path(cls, path): """ :param FilePath path: Directory where private key and certificate are stored. """ if not path.isdir(): raise PathError( b"Path {path} is not a directory.".format(path=path.path) ) certPath = path.child(certificate_filename) keyPath = path.child(key_filename) if not certPath.isfile(): raise PathError( b"Certificate file {path} does not exist.".format( path=certPath.path) ) if not keyPath.isfile(): raise PathError( b"Private key file {path} does not exist.".format( path=keyPath.path) ) try: certFile = certPath.open() except IOError: raise PathError( (b"Certificate file {path} could not be opened. " b"Check file permissions.").format( path=certPath.path) ) try: keyFile = keyPath.open() except IOError: raise PathError( (b"Private key file {path} could not be opened. " b"Check file permissions.").format( path=keyPath.path) ) certificate = Certificate.load( certFile.read(), format=crypto.FILETYPE_PEM) keypair = FlockerKeyPair( keypair=KeyPair.load(keyFile.read(), format=crypto.FILETYPE_PEM) ) return cls(path=path, certificate=certificate, keypair=keypair)
def initWithCoder_(self, coder): """ Initialize model object with the content from the L{NSCoder}. """ self = NSObject.init(self) if self is None: return None self.account = None self.cert = None self.name = coder.decodeObjectForKey_("name") self.email = coder.decodeObjectForKey_("email") certBytes, lenBytes = coder.decodeBytesForKey_returnedLength_( "cert", None ) print lenBytes if lenBytes: self.cert = Certificate.load(certBytes) return self
def load_certificate_file(path): """ Load a certificate from a specified path. :param FilePath path: Absolute path to certificate file. :return: A ``Certificate`` instance representing the parsed certificate data. """ try: certificate_file = path.open() except IOError as e: code, failure = e raise PathError(b"Certificate file could not be opened.", e.filename, code, failure) certificate = Certificate.load(certificate_file.read(), format=crypto.FILETYPE_PEM) return certificate
def load_certificate_file(path): """ Load a certificate from a specified path. :param FilePath path: Absolute path to certificate file. :return: A ``Certificate`` instance representing the parsed certificate data. """ try: certificate_file = path.open() except IOError as e: code, failure = e raise PathError( b"Certificate file could not be opened.", e.filename, code, failure ) certificate = Certificate.load( certificate_file.read(), format=crypto.FILETYPE_PEM) return certificate
def load_certificate_from_path(path, key_filename, cert_filename): """ Load a certificate and keypair from a specified path. :param FilePath path: Directory where certificate and key files are stored. :param bytes key_filename: The file name of the private key. :param bytes cert_filename: The file name of the certificate. :return: A ``tuple`` containing the loaded key and certificate instances. """ certPath = path.child(cert_filename) keyPath = path.child(key_filename) try: certFile = certPath.open() except IOError as e: code, failure = e raise PathError( b"Certificate file could not be opened.", e.filename, code, failure ) try: keyFile = keyPath.open() except IOError as e: code, failure = e raise PathError( b"Private key file could not be opened.", e.filename, code, failure ) certificate = Certificate.load( certFile.read(), format=crypto.FILETYPE_PEM) keypair = ComparableKeyPair( keypair=KeyPair.load(keyFile.read(), format=crypto.FILETYPE_PEM) ) return (keypair, certificate)
def load_certificate_from_path(path, key_filename, cert_filename): """ Load a certificate and keypair from a specified path. :param FilePath path: Directory where certificate and key files are stored. :param bytes key_filename: The file name of the private key. :param bytes cert_filename: The file name of the certificate. :return: A ``tuple`` containing the loaded key and certificate instances. """ certPath = path.child(cert_filename) keyPath = path.child(key_filename) try: certFile = certPath.open() except IOError as e: code, failure = e raise PathError( b"Certificate file could not be opened.", e.filename, code, failure ) try: keyFile = keyPath.open() except IOError as e: code, failure = e raise PathError( b"Private key file could not be opened.", e.filename, code, failure ) certificate = Certificate.load( certFile.read(), format=crypto.FILETYPE_PEM) keypair = ComparableKeyPair( keypair=KeyPair.load(keyFile.read(), format=crypto.FILETYPE_PEM) ) return (keypair, certificate)