2048, "private_key_type" => OPENSSL_KEYTYPE_RSA, ]); openssl_pkey_export($res, $privateKey); $details = openssl_pkey_get_details($res); $publicKey = $details['key']; $pan = '4779642610000010'; $encrypted = CardEncryptor::encrypt($pan, $publicKey); expect($encrypted)->toBeString() ->and(base64_decode($encrypted))->not->toBeFalse(); }); test('can canonicalize json', function () { $data = [ 'z' => 1, 'a' => [ 'c' => 3, 'b' => 2 ] ]; $canonical = CmsSigner::canonicalize($data); // Keys should be sorted: a (then b, c), z expect($canonical)->toBe('{"a":{"b":2,"c":3},"z":1}'); });