İçeriğe geç
getnextpdf.com

Enterprise sürüm

İmzalama sertifikaları için Certificate Transparency politikası

NextPDF Enterprise, bir imzalama iş akışının imzalamadan önce bir imzalama sertifikasının Certificate Transparency (CT) duruşunu dikkate almasına olanak tanır. CT, yanlış-verilişin saptanabilir olması için sertifikaların kaydedildiği genel günlük ekosistemidir; CT’de günlüklenmiş bir sertifika, bir veya daha fazla İmzalı Sertifika Zaman Damgası (SCT) taşır. NextPDF Enterprise, bir sertifikanın CT duruşunu bir sonuç değeri olarak temsil eder — SCT uzantısının mevcut olup olmadığı, kaç SCT’nin mevcut ve geçerli olduğu ve bunları hangi günlüklerin verdiği — ve bir minimum-SCT eşik denetimi sunar. Bu sayfa davranış düzeyindedir: sonucun neyi taşıdığını, eşik denetiminin nasıl çalıştığını ve NextPDF’in neye karar verip neye karar vermediğini belirtir.

NextPDF Enterprise bir CT sonucunu temsil eder ve eşik-denetler; bir CT günlüğü, bir günlük denetçisi veya bir izleyici değildir. Sınır Güvenlik ve uyumluluk altında belirtilmiştir.

Ön koşullar ön bilgide belirtilmiş ve Ön koşullar altında yinelenmiştir.

Bu yetenek NextPDF Enterprise (nextpdf/enterprise) sürümünde yer alır ve Enterprise katmanı bir lisans zarfıyla etkinleşir. Bu yetkilendirmeye sahip olmayan bir dağıtım, yeteneğin sınıflarını yüklemez. Sürümleri karşılaştırın ve bir lisans edinin.

CT’de günlüklenmiş bir sertifika SCT’ler taşır. Bir SCT; bir sürüm, bir günlük tanımlayıcısı, bir zaman damgası ve günlüğün sertifika girdisi üzerindeki imzasını taşır — RFC 6962 §3.1. Bir günlük, sertifikayı yalnızca eklenebilir günlüğüne dâhil etme sözü olarak bir SCT döndürür ve dayanan taraflar, geçerli bir SCT’si olmayan bir sertifikayı reddeder — RFC 6962 §3. Certificate Transparency sürüm 2.0 aynı modeli korur: bir günlük, gönderimde bir SCT döndürür ve gönderen, ona güvenmeden önce onu doğrular — RFC 9162 §3.

NextPDF Enterprise, bir sertifikanın CT duruşunu şunları taşıyan bir sonuç değeri olarak temsil eder:

  • sertifikanın SCT uzantısını içerip içermediği;
  • bulunan toplam SCT sayısı;
  • imzaları geçerli olan SCT sayısı;
  • SCT’leri veren günlüklerin günlük tanımlayıcıları — SHA-256 özetleri.

Sonuç, bir minimum-SCT eşik denetimi açığa çıkarır: geçerli SCT sayısının gerekli bir minimumu karşılayıp karşılamadığını veya aştığını bildirir. Minimumu politikanıza uyacak şekilde belirlersiniz. Yaygın bir politika, daha kısa ömürlü sertifikalar için farklı günlüklerden en az iki SCT ve daha uzun ömürlüler için daha fazlasını bekler; eşik değeri sizin seçiminizdir.

Eşik denetimini bir imzalama iş akışında bir geçit olarak kullanın: imzalamadan önce CT’de günlüklenmiş bir sertifika (yeterli sayıda geçerli SCT) gerektirin ve aksi hâlde reddedin.

Certificate Transparency dar bir soruyu yanıtlar: bu sertifika genel olarak günlüklenmiş mi ve kaç bağımsız günlük tarafından. NextPDF Enterprise, bu yanıtı bir karar olarak değil, düz bir sonuç değeri olarak modeller. Sonuç; SCT-uzantısı bayrağını, SCT sayılarını ve veren günlük tanımlayıcılarını bildirir, sonra durur. Bu duruşun yeterince iyi olup olmadığına karar vermez; çünkü güven eşiği, sertifika ömrüne ve riske göre değişen bir dayanan-taraf politikasıdır. Bu nedenle minimum-SCT sayısı belirlemeniz için size kalır ve NextPDF, günlük-işletici, denetçi ve izleyici rollerinin dışında kalır. Certificate Transparency, sağlam bir imzalama kararında birkaç denetimden biridir ve bu sayfa onu imzalayıcı oluşturulmadan önce açık bir geçit hâline getirir.

Tasarım arka planı: Bir imzayı düzgün doğrulama.

  1. NextPDF Core’u ve Enterprise paketini kurun ve etkin bir Enterprise lisansına sahip olun.
  2. CT duruşunu zorunlu kılmak istediğiniz imzalama sertifikasını, ortamınızın ondan çıkardığı SCT verileriyle birlikte hazır bulundurun.
  3. Politikanızın gerektirdiği minimum-SCT eşiğine karar verin.
  • Minimum SCT eşiği — bir sertifikanın politikanızı geçmek için taşıması gereken geçerli SCT sayısı. Bunu eşik denetimine iletin.
  • Politika konumlandırması — geçidin imzalama iş akışınızda nerede çalışacağına karar verin: imzalayıcı oluşturulmadan önce; böylece yetersiz-günlüklenmiş bir sertifika asla bir imzalama işlemine ulaşmaz.
  1. İmzalama sertifikanız için SCT-uzantısı bayrağını, toplam ve geçerli SCT sayılarını ve günlük tanımlayıcılarını taşıyan CT sonucunu edinin.
  2. Politikanız için minimum-SCT eşiğine karar verin.
  3. Eşik denetimini çalıştırın; bir geçişi “CT politikası karşılandı” ve bir başarısızlığı “bu sertifikayla imzalamayı reddet” olarak ele alın.
  4. İmzalayıcı oluşturulmadan önce imzalama iş akışını sonuca göre geçitleyin.
examples/enterprise/ct-policy-gate.php
<?php
declare(strict_types=1);
require_once __DIR__ . '/../../vendor/autoload.php';
use NextPDF\Enterprise\Security\CertificateTransparency\CtValidationResult;
use Psr\Log\LoggerInterface;
final readonly class CtSigningPolicy
{
/**
* @param int<1, max> $minimumScts The minimum count of valid SCTs your policy requires.
*/
public function __construct(
private int $minimumScts,
private LoggerInterface $logger,
) {}
/**
* Decide whether a certificate's CT posture satisfies the policy.
*
* The gate runs before the signer is constructed, so an under-logged
* certificate never reaches a signing operation. A missing SCT extension
* is treated as a policy failure, not an exception.
*
* @param CtValidationResult $result The CT posture of the signing certificate.
*
* @return bool True when the certificate meets the minimum-SCT threshold.
*/
public function isAcceptable(CtValidationResult $result): bool
{
if (! $result->hasSctsExtension) {
$this->logger->warning('Signing certificate carries no SCT extension; CT policy not met.');
return false;
}
$acceptable = $result->meetsPolicy($this->minimumScts);
if (! $acceptable) {
$this->logger->warning('Signing certificate has too few valid SCTs for the CT policy.', [
'validScts' => $result->validScts,
'minimumScts' => $this->minimumScts,
]);
}
return $acceptable;
}
}
  1. SCT uzantısı mevcut ve geçerli-SCT sayısı eşiğinizde olan bir sonuç oluşturun ve eşik denetiminin geçtiğini doğrulayın.
  2. Eşiğinizin bir altında bir sonuç oluşturun ve denetimin başarısız olduğunu doğrulayın.
  3. SCT uzantısı bulunmayan bir sonuç oluşturun ve geçidin sayıdan bağımsız olarak reddettiğini doğrulayın.
  4. Geçit reddettiğinde imzalama iş akışınızın bir imzalayıcı oluşturmadığını doğrulayın.
  • NextPDF temsil eder ve eşik-denetler; günlükleri işletmez. NextPDF Enterprise, CT duruşunu ve bir minimum-SCT denetimini açığa çıkarır. Bir CT günlüğü, bir denetçi veya bir izleyici değildir ve sertifikaları günlüklere göndermez.
  • Eşik sizin politikanızdır. Minimum-SCT değeri sizin belirleyeceğiniz bir değerdir; NextPDF bir sayı dayatmaz. Eksik bir SCT uzantısı açık bir politika başarısızlığıdır.
  • İmzalamadan önce geçitleyin. Denetimi imzalayıcı oluşturulmadan önce çalıştırın; böylece yetersiz-günlüklenmiş bir sertifika asla bir imzalama işlemine ulaşmaz.
  • SCT semantiği standartları izler. Bir SCT, dayanan tarafların mevcut ve geçerli olmasını beklediği günlüğün bir sözüdür (RFC 6962 §3; §3.1 yapısı; CT v2 RFC 9162 §3).

Bu sayfa sertifika güveniyle ilgilidir. Her normatif kaynak başka sözcüklerle ifade edilmiştir; hiçbir normatif metin yeniden üretilmez.

  • SCT uzantısı yok. SCT uzantısı olmayan bir sonucu bir politika başarısızlığı olarak ele alın; imzalamayı reddedin.
  • Çok az geçerli SCT. Eşiğinizin altında bir geçerli-SCT sayısı denetimi başarısız kılar; imzalamayı reddedin.
  • Politika konumlandırması. Geçidi imzalayıcı oluşturulmadan önce çalıştırın; imzalamadan sonra çalışan geç bir denetim, üretilen belgeyi korumaz.

Bu sayfa yalnızca dışarıdan gözlemlenebilir davranışı ve desteklenen genel API yüzeyini belgeler. İç ad alanı yolları, yardımcı sınıflar, mekanizma tabloları, runbook dosya adları ve talep önekleri kapsam dışındadır.