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:----xO4XgrRvh3oBnhUMeHHkwQe3tHvBEM3n88tyJulSJaTa2U8ITwkvUIhIUZdFf2ybuTEfGebdxGBaX7JZFxL57SESm3opJm618yySad0EGRJUKIxYW5ot3VmplP3TWN+8F57G2nMtwuLUpJ3b6cUhpLwtMeN9SL/jgLVpImkYQFjOWbneOXucIoXJOi/89i7GUm1aQ3r/bQfjxjU1db7q4CRbQHYKQK4fJZNb+UlyGxardDZYDVeJOlCPZ1NDc+bGfh4kUdmXwB+h37bfrhm/TxTFGD2BvwryrgjseD0inCn0MyZxx+oGtch/2NyfIapvs7drlqM0ChJRFMBghZPx4bvB66VoQVsaQFKarLoh+zdsefly92g0XZCmmroR5cVr1lX+EN7U/u0YIVhakwzSFy7iV3JLSNpMQSrEc+drN1tw3etzNNovY9DckIIwrl1QcnUBV2jTSlVcXwD+ptmkqhtKOV1KVaHRdbScA51HSZ/geNBg86JpKkIelqJ+vld7+8rdXZxxh3W4H0J8OOqopKfVb1XRGPscrJ7m2w9FYQJTOS0AULiDPO5oI/+dPIDGcAu1uwnyp0Bmzg2LwnXZhOeFK9L084X/4T7yv22bT0MvBy5YrxeLAAtPCG7oBkwY3sDyWP67qHcEXZRJnA2EmxrXbp42lxTuVGOG6v97jfQ=----ATTACHMENT:----MjAyODQyMTgwMzQxNDM2MCA4NDY0NTc3NzIzMjk1MTcgMTg1NjA1NzQ1MTgzODI4MA==