@@ 185-203 (lines=19) @@ | ||
182 | * |
|
183 | * @return string |
|
184 | */ |
|
185 | function private_encrypt($data, $key, $passphrase = null, $padding = OPENSSL_PKCS1_PADDING) |
|
186 | { |
|
187 | $privKey = openssl_get_privatekey($key, $passphrase); |
|
188 | ||
189 | if (!is_resource($privKey)) { |
|
190 | $type = gettype($privKey); |
|
191 | throw new \Exception("Expected private key to be resource, got: '$type'. Check if the given private key is in correct syntax."); |
|
192 | } |
|
193 | ||
194 | openssl_private_encrypt($data, $result, $privKey, $padding); |
|
195 | ||
196 | if (!is_string($result)) { |
|
197 | throw new \Exception("Failed to encrypt data. Result: '$result'"); |
|
198 | } |
|
199 | ||
200 | $base64 = base64_encode($result); |
|
201 | ||
202 | return $base64; |
|
203 | } |
|
204 | ||
205 | /** |
|
206 | * Decrypts data with public key, that was encrypted with private key |
|
@@ 268-286 (lines=19) @@ | ||
265 | * |
|
266 | * @return string |
|
267 | */ |
|
268 | function generate_signature($data, $key, $passphrase = null, $signature_alg = OPENSSL_ALGO_SHA1) |
|
269 | { |
|
270 | $privKey = openssl_get_privatekey($key, $passphrase); |
|
271 | ||
272 | if (!is_resource($privKey)) { |
|
273 | $type = gettype($privKey); |
|
274 | throw new \Exception("Expected private key to be resource, got: '$type'. Check if the given private key is in correct syntax."); |
|
275 | } |
|
276 | ||
277 | openssl_sign($data, $result, $privKey, $signature_alg); |
|
278 | ||
279 | if (!is_string($result)) { |
|
280 | throw new \Exception("Failed to encrypt data. Result: '$result'"); |
|
281 | } |
|
282 | ||
283 | $base64 = base64_encode($result); |
|
284 | ||
285 | return $base64; |
|
286 | } |
|
287 | ||
288 | /** |
|
289 | * Verify signature that was encrypted with private key through public key |