1. Go to this page and download the library: Download j1nn0/laravel-encrypted-s3 library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
j1nn0 / laravel-encrypted-s3 example snippets
'encrypted-s3' => [
'driver' => 'encrypted-s3',
// The same connection keys as the standard s3 driver.
'key' => env('AWS_ACCESS_KEY_ID'),
'secret' => env('AWS_SECRET_ACCESS_KEY'),
'token' => env('AWS_SESSION_TOKEN'),
'region' => env('AWS_DEFAULT_REGION'),
'bucket' => env('AWS_BUCKET'),
'endpoint' => env('AWS_ENDPOINT'),
'use_path_style_endpoint' => (bool) env('AWS_USE_PATH_STYLE_ENDPOINT', false),
'retries' => ['mode' => 'standard', 'max_attempts' => 3], // Optional.
'http' => ['timeout' => 10], // Optional Guzzle settings.
'root' => '',
// Optional: sends a canned S3 ACL. Omit this for ACL-disabled buckets.
// 'visibility' => 'private',
'throw' => false,
'options' => [], // Additional PutObject parameters.
// Client-side encryption settings.
'kms' => [
'key_id' => env('AWS_ENCRYPTED_S3_KMS_KEY_ID'), // Required.
'region' => null, // Defaults to the disk region.
// key, secret, and token may be supplied here; otherwise the disk
// credentials are reused.
],
'encryption' => [
'commitment_policy' => 'REQUIRE_ENCRYPT_REQUIRE_DECRYPT', // Allowed: REQUIRE_ENCRYPT_REQUIRE_DECRYPT, REQUIRE_ENCRYPT_ALLOW_DECRYPT.
'security_profile' => 'V3', // Only V3 is allowed; V3_AND_LEGACY is rejected.
'encryption_context' => [],
'allow_decrypt_with_any_cmk' => false,
],
],
use Illuminate\Support\Facades\Storage;
Storage::disk('encrypted-s3')->put('documents/report.txt', $contents);
$plain = Storage::disk('encrypted-s3')->get('documents/report.txt');
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.