diff --git a/src/AESCryptoServiceProvider.php b/src/AESCryptoServiceProvider.php index 47ddaea..9a196b9 100644 --- a/src/AESCryptoServiceProvider.php +++ b/src/AESCryptoServiceProvider.php @@ -168,7 +168,11 @@ public function decrypt(string $encryptedData): string * @param bool $humanReadableData whether to return base64 encoded data * @return array Sealed data */ - public function seal(string $plain_text, RSAParameters $rSAParameters, bool $humanReadableData = false): array + public function seal( + string $plain_text, + RSAParameters $rSAParameters, + bool $humanReadableData = false + ): array { $this->generateIV('aes-256-cbc'); @@ -197,7 +201,8 @@ public function seal(string $plain_text, RSAParameters $rSAParameters, bool $hum * @param RSAParameters $rSAParameters * @return string Opened data */ - public function open(string $sealed_data, string $ekeys, RSAParameters $rSAParameters): string + public function open(string $sealed_data, string $ekeys, RSAParameters $rSAParameters, string $privateKeyPass, + string $salt): string { if (preg_match('/^[a-zA-Z0-9\/\r\n+]*={0,2}$/', $sealed_data)) { $sealed_data = base64_decode($sealed_data); @@ -216,7 +221,7 @@ public function open(string $sealed_data, string $ekeys, RSAParameters $rSAParam $iv = substr($sealed_data, 0, $iv_len); $encryptedData = substr($sealed_data, $iv_len); - openssl_open($encryptedData, $open_data, $ekeys, $rSAParameters->getPrivateKey(), 'aes-256-cbc', $iv); + openssl_open($encryptedData, $open_data, $ekeys, $rSAParameters->getPrivateKey(passphrase: $privateKeyPass, salt: $salt), 'aes-256-cbc', $iv); return $open_data; } diff --git a/src/RSACryptoServiceProvider.php b/src/RSACryptoServiceProvider.php index c85429f..e908a9a 100644 --- a/src/RSACryptoServiceProvider.php +++ b/src/RSACryptoServiceProvider.php @@ -32,10 +32,10 @@ public function encrypt(string $plainText): string /** * decrypt with private key */ - public function decrypt(string $encryptedText): string + public function decrypt(string $encryptedText, string $privateKeyPass, string $salt): string { $plainText = ''; - $privKey = $this->parameters->getPrivateKey(); + $privKey = $this->parameters->getPrivateKey(passphrase: $privateKeyPass, salt: $salt); openssl_private_decrypt(base64_decode($encryptedText), $plainText, $privKey); @@ -48,10 +48,10 @@ public function decrypt(string $encryptedText): string * @param string $plainText * @return string */ - public function privateEncrypt(string $plainText): string + public function privateEncrypt(string $plainText, string $privateKeyPass, string $salt): string { $encrypted = ''; - $privKey = $this->parameters->getPrivateKey(); + $privKey = $this->parameters->getPrivateKey(passphrase: $privateKeyPass, salt: $salt); openssl_private_encrypt($plainText, $encrypted, $privKey); @@ -78,9 +78,9 @@ public function publicDecrypt(string $encryptedText): string * @param string $data * @return string */ - public function sign(string $data): string + public function sign(string $data, string $privateKeyPass, string $salt): string { - $privKey = $this->getPrivateKey(); + $privKey = $this->parameters->getPrivateKey(passphrase: $privateKeyPass, salt: $salt); $result = openssl_sign($data, $signature, $privKey, OPENSSL_ALGO_SHA512);