create project with Symfony framework
composer require b3da/eos-bundle "dev-master"
AppKernel.php:
new b3da\EasyOpenSslBundle\b3daEasyOpenSslBundle(),
parameters.yml(.dist):# EasyOpenSSL encryption method eos_enc_method: aes-256-cbc # ...
(you can extend base Client and Message entities from b3da\EasyOpenSslBundle namespace)
update your schema
b3da_easy_open_ssl.eos is available for OpenSSL operations$eos = $this->get('b3da_easy_open_ssl.eos');
FooController)$client = new Client(); $client = $eos->generateKeyPairForClient($client); if (!$client) { // err generating keypair } // persist Client with keys
FooController)$message = $eos->encrypt($client, 'msg data .. foo bar baz');
FooController)$decryptedData = $eos->decrypt($message); // $decryptedData === 'msg data .. foo bar baz';
routing.yml:b3da_easy_open_ssl: resource: "@b3daEasyOpenSslBundle/Controller/" type: annotation prefix: /eos/
Response: {"status":"success","id":"3ead5521-2fbc-11e6-834a-f0def1ff5901"} or {"status":"error","details":"key pair generating failed"}
Response: {"status":"success","data":{"id":"3ead5521-2fbc-11e6-834a-f0def1ff5901","pubkey":"LS0tLS1CR .. S0tLQ=="}} or {"status":"error","details":"no client for id"}
Request: {"data":{"id":"3ead5521-2fbc-11e6-834a-f0def1ff5901","pubkey":"LS0tLS1CR .. S0tLQ=="}} Response: {"status":"success","id":"3ead5521-2fbc-11e6-834a-f0def1ff5901"} or {"status":"error","details":"no data to import"}
Response: {"status":"success","data":{"message":":774c6b663650636 .. 34346616f5901"}} or {"status":"error","details":"no client for id"}
Request: /eos/msg-api/msg/decrypt/{"message":":774c6b663650636 .. 34346616f5901"}/ Response: {"status":"success","data":"foo bar"} or {"status":"error","details":"wrong format"}
How can I help you explore Laravel packages today?