public function WardenAPI::encrypt in Warden 6
Same name and namespace in other branches
- 7 warden_api.inc \WardenAPI::encrypt()
Encrypt a plaintext message.
Parameters
mixed $data: The data to encrypt for transport.
Return value
string The encoded message
Throws
Exception if there is a problem
1 call to WardenAPI::encrypt()
- WardenAPI::postSiteData in ./
warden_api.inc - Send the site data to Warden.
File
- ./
warden_api.inc, line 104 - The API for communicating with the Warden server application.
Class
- WardenAPI
- @file The API for communicating with the Warden server application.
Code
public function encrypt($data) {
$plaintext = json_encode($data);
$public_key = $this
->getPublicKey();
$result = openssl_seal($plaintext, $message, $keys, array(
$public_key,
));
if ($result === FALSE || empty($keys[0]) || empty($message) || $message === $plaintext) {
throw new Exception('Unable to encrypt a message: ' . openssl_error_string());
}
$envelope = (object) array(
'key' => base64_encode($keys[0]),
'message' => base64_encode($message),
);
return base64_encode(json_encode($envelope));
}