diff --git a/app/Models/CaCertificate.php b/app/Models/CaCertificate.php index 1ef7564..2b23664 100644 --- a/app/Models/CaCertificate.php +++ b/app/Models/CaCertificate.php @@ -25,6 +25,7 @@ class CaCertificate extends Model 'valid_to', 'is_latest', 'issuer_name', + 'issuer_serial', 'cert_path', 'der_path', 'bat_path', diff --git a/app/Services/OpenSslService.php b/app/Services/OpenSslService.php index c2b2b39..7774b45 100644 --- a/app/Services/OpenSslService.php +++ b/app/Services/OpenSslService.php @@ -416,7 +416,8 @@ class OpenSslService 'serial_number' => $newSerialHex, 'valid_from' => date('Y-m-d H:i:s', $newInfo['validFrom_time_t']), 'valid_to' => date('Y-m-d H:i:s', $newInfo['validTo_time_t']), - 'issuer_name' => $cert->ca_type === 'root' ? 'Self-Signed' : ($root ? $root->common_name : 'Unknown Root'), + 'issuer_name' => $cert->ca_type === 'root' ? $cert->common_name : ($root ? $root->common_name : 'Unknown Root'), + 'issuer_serial' => $cert->ca_type === 'root' ? $newSerialHex : ($root ? $root->serial_number : null), ]; } finally { @@ -475,6 +476,7 @@ class OpenSslService 'valid_from' => $newData['valid_from'], 'valid_to' => $newData['valid_to'], 'issuer_name' => $newData['issuer_name'], + 'issuer_serial' => $newData['issuer_serial'], 'is_latest' => true, ]); diff --git a/database/migrations/2025_12_23_123913_create_ca_certificates_table.php b/database/migrations/2025_12_23_123913_create_ca_certificates_table.php index 22b0aeb..5580568 100644 --- a/database/migrations/2025_12_23_123913_create_ca_certificates_table.php +++ b/database/migrations/2025_12_23_123913_create_ca_certificates_table.php @@ -32,6 +32,7 @@ return new class extends Migration $table->string('common_name')->nullable(); $table->string('organization')->nullable(); $table->string('issuer_name')->nullable(); + $table->string('issuer_serial')->nullable(); $table->dateTime('valid_from')->nullable(); $table->dateTime('valid_to')->nullable(); @@ -66,6 +67,9 @@ return new class extends Migration if (!Schema::connection('mysql_ca')->hasColumn('ca_certificates', 'issuer_name')) { $table->string('issuer_name')->nullable()->after('organization'); } + if (!Schema::connection('mysql_ca')->hasColumn('ca_certificates', 'issuer_serial')) { + $table->string('issuer_serial')->nullable()->after('issuer_name'); + } }); } }