Fix: Encrypt private SSH keys in the DB

This commit is contained in:
peaklabs-dev
2024-09-16 13:17:39 +02:00
parent 02017334e5
commit 3aee8e030e
2 changed files with 23 additions and 0 deletions

View File

@@ -32,6 +32,10 @@ class PrivateKey extends BaseModel
'team_id',
];
protected $casts = [
'private_key' => 'encrypted',
];
protected static function booted()
{
static::saving(function ($key) {

View File

@@ -0,0 +1,19 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Crypt;
class EncryptExistingPrivateKeys extends Migration
{
public function up()
{
DB::table('private_keys')->chunkById(100, function ($keys) {
foreach ($keys as $key) {
DB::table('private_keys')
->where('id', $key->id)
->update(['private_key' => Crypt::encryptString($key->private_key)]);
}
});
}
}