Add more Certificate Serial Number, Subject and Authority Key IDs
All checks were successful
Create Docker Image / Test Application (x86_64) (push) Successful in 28s
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 1m39s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 2m55s
Create Docker Image / Final Docker Image Manifest (push) Successful in 10s
All checks were successful
Create Docker Image / Test Application (x86_64) (push) Successful in 28s
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 1m39s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 2m55s
Create Docker Image / Final Docker Image Manifest (push) Successful in 10s
This commit is contained in:
@@ -4,6 +4,7 @@ namespace App\Classes\LDAP\Attribute;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
use App\Classes\LDAP\Attribute;
|
||||
use App\Traits\MD5Updates;
|
||||
@@ -17,6 +18,15 @@ final class Certificate extends Attribute
|
||||
|
||||
private array $_object = [];
|
||||
|
||||
public function authority_key_identifier(int $key=0): string
|
||||
{
|
||||
$data = collect(explode("\n",$this->cert_info('extensions.authorityKeyIdentifier',$key)));
|
||||
return $data
|
||||
->filter(fn($item)=>Str::startsWith($item,'keyid:'))
|
||||
->map(fn($item)=>Str::after($item,'keyid:'))
|
||||
->first();
|
||||
}
|
||||
|
||||
public function certificate(int $key=0): string
|
||||
{
|
||||
return sprintf("-----BEGIN CERTIFICATE-----\n%s\n-----END CERTIFICATE-----",
|
||||
@@ -29,19 +39,23 @@ final class Certificate extends Attribute
|
||||
if (! array_key_exists($key,$this->_object))
|
||||
$this->_object[$key] = openssl_x509_parse(openssl_x509_read($this->certificate($key)));
|
||||
|
||||
|
||||
return Arr::get($this->_object[$key],$index);
|
||||
}
|
||||
|
||||
public function expires($key=0): Carbon
|
||||
public function expires(int $key=0): Carbon
|
||||
{
|
||||
return Carbon::createFromTimestampUTC($this->cert_info('validTo_time_t',$key));
|
||||
}
|
||||
|
||||
public function subject($key=0): string
|
||||
public function subject(int $key=0): string
|
||||
{
|
||||
$subject = collect($this->cert_info('subject',$key))->reverse();
|
||||
|
||||
return $subject->map(fn($item,$key)=>sprintf("%s=%s",$key,$item))->join(',');
|
||||
}
|
||||
|
||||
public function subject_key_identifier(int $key=0): string
|
||||
{
|
||||
return $this->cert_info('extensions.subjectKeyIdentifier',$key);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user