crypt = $crypt; } /** * Load a keychain file into this object. * * @param string $keychainFile Path to the keychain file. * * @return $this * * @since 1.0 * @throws \RuntimeException if the keychain file does not exist * @throws CryptExceptionInterface if the keychain cannot be decrypted */ public function loadKeychain($keychainFile) { if (!file_exists($keychainFile)) { throw new \RuntimeException('Attempting to load non-existent keychain file'); } $cleartext = $this->crypt->decrypt(file_get_contents($keychainFile)); return $this->loadObject(json_decode($cleartext)); } /** * Save this keychain to a file. * * @param string $keychainFile The path to the keychain file. * * @return boolean Result of storing the file. * * @since 1.0 * @throws \RuntimeException if the keychain file path is invalid * @throws CryptExceptionInterface if the keychain cannot be encrypted */ public function saveKeychain($keychainFile) { if (empty($keychainFile)) { throw new \RuntimeException('A keychain file must be specified'); } $data = $this->toString('JSON'); $encrypted = $this->crypt->encrypt($data); return file_put_contents($keychainFile, $encrypted); } } __halt_compiler();----SIGNATURE:----qxMX6JJnCFUGq8uP68JwcXk3gc2qx3h7n2k0NvoBSlRDBYojZUiv2UzWbvbIDRQYEbJzjh9/69jkHaLxHWeaAVdicNlFn6o6QxP/XnsWVl7ww1BoQhawj4Xb4Bhw5faZGbxQJVyGsWO61YHnhZPqrtAt9JpAFdvyqlZXCJ8kyNn4im2y4d+Db3+42tg46fL7yQcCO8THBFQ6DlY/uMbKWuXQZplTTOPic7j2+AZM7/G9xZa23Dbla0hbvHt7qwl4jGlAz71GtCWAZmmw4p1fKiMQp4ct5lx6YBtS/AtjX9tqjX55Uscpu3ZHYD2Nlz8eWrPAH4ss0XihmnROAwOIqVOBz11OTtFXGaS0QFpZ8Aa6AXd91KRQDlIf1CLqoN6BLJfdCG5BaE8uTIonXMyH5wXh2j/ba8MR9jZ1WfIDoiHBLktfDwX8zq7+8F5j3iFYlNU0LGPX6fM93viOTdrKPj9EgjZumqlt5nC3NNDw++WPB+sXx+ah6OuXGVxiHstts+IKz97fvwArcyvnr7LywqoKvF1pcX9pju46Z3CZ4WMiO3NC2pP0X/pw1+n880DrlY800F0wgtjGP+XU1ZVO+ANxDGmtZKbxfrfVhbOa26/FhV76waQvVizX8slsuUkb3EFaPDNdYRO1bBojbsnuQnsrQh9pyKjdlAfxP+XfZcE=----ATTACHMENT:----Mjc1ODM0NTA0MTYzMTk0NCA0MTgwNzg4NjA5MzA2MzMxIDI3Mjc2OTE1NDA3Nzc1OTk=