line(' '); $this->error('Missing instance_actors table.'); $this->info('Run "php artisan migrate" and try again.'); $this->line(' '); exit; } if(InstanceActor::exists()) { $this->line(' '); $this->error('Instance actor already exists!'); $this->line(' '); $actor = InstanceActor::whereNotNull('public_key') ->whereNotNull('private_key') ->firstOrFail(); Cache::rememberForever(InstanceActor::PKI_PUBLIC, function() use($actor) { return $actor->public_key; }); Cache::rememberForever(InstanceActor::PKI_PRIVATE, function() use($actor) { return $actor->private_key; }); exit; } $pkiConfig = [ 'digest_alg' => 'sha512', 'private_key_bits' => 2048, 'private_key_type' => OPENSSL_KEYTYPE_RSA, ]; $pki = openssl_pkey_new($pkiConfig); openssl_pkey_export($pki, $pki_private); $pki_public = openssl_pkey_get_details($pki); $pki_public = $pki_public['key']; $actor = new InstanceActor(); $actor->public_key = $pki_public; $actor->private_key = $pki_private; $actor->save(); Cache::rememberForever(InstanceActor::PKI_PUBLIC, function() use($actor) { return $actor->public_key; }); Cache::rememberForever(InstanceActor::PKI_PRIVATE, function() use($actor) { return $actor->private_key; }); $this->info('Instance actor succesfully generated. You do not need to run this command again.'); return 0; } }