Enterprise edição
Política de Certificate Transparency para certificados de assinatura
Visão geral
Seção intitulada “Visão geral”O NextPDF Enterprise permite que um fluxo de trabalho de assinatura leve em conta a postura de Certificate Transparency (CT) de um certificado de assinatura antes de assinar. CT é o ecossistema de logs públicos no qual os certificados são registrados para que a emissão indevida seja detectável; um certificado registrado em CT carrega um ou mais Signed Certificate Timestamps (SCTs). O NextPDF Enterprise representa a postura de CT de um certificado como um valor de resultado — se a extensão SCT está presente, quantos SCTs estão presentes e válidos e quais logs os emitiram — e oferece uma verificação de limiar de SCT mínimo. Esta página é de nível de comportamento: ela declara o que o resultado carrega, como a verificação de limiar funciona e o que o NextPDF decide e não decide.
O NextPDF Enterprise representa e verifica por limiar um resultado de CT; ele não é um log de CT, um auditor de log nem um monitor. O limite é declarado em Segurança e compliance.
Os pré-requisitos são declarados no front matter e repetidos em Pré-requisitos.
Disponibilidade e licenciamento
Seção intitulada “Disponibilidade e licenciamento”Este recurso é entregue no NextPDF Enterprise (nextpdf/enterprise) e é ativado com um envelope de licença de nível Enterprise. Uma implantação sem esse direito não carrega as classes do recurso. Compare edições e obtenha uma licença.
O que este recurso faz
Seção intitulada “O que este recurso faz”Um certificado registrado em CT carrega SCTs. Um SCT carrega uma versão, um identificador de log, um carimbo de tempo e a assinatura do log sobre a entrada do certificado, conforme a RFC 6962 §3.1. Um log retorna um SCT como sua promessa de incorporar o certificado ao seu log somente acréscimo, e as partes confiantes rejeitam um certificado que não tenha um SCT válido, conforme a RFC 6962 §3. A Certificate Transparency versão 2.0 mantém o mesmo modelo: um log retorna um SCT na submissão, que o submissor valida antes de confiar nele, conforme a RFC 9162 §3.
O NextPDF Enterprise representa a postura de CT de um certificado como um valor de resultado que carrega:
- se o certificado contém a extensão SCT;
- o número total de SCTs encontrados;
- o número de SCTs cujas assinaturas são válidas;
- os identificadores de log — hashes SHA-256 — dos logs que emitiram os SCTs.
O resultado expõe uma verificação de limiar de SCT mínimo: ele relata se a contagem de SCTs válidos atinge ou excede um mínimo exigido. Você define o mínimo de acordo com a sua política. Uma política comum espera pelo menos dois SCTs de logs diferentes para certificados de vida mais curta e mais para os de vida mais longa; o valor do limiar é você quem escolhe.
Use a verificação de limiar como uma barreira em um fluxo de trabalho de assinatura: exija um certificado registrado em CT (uma contagem suficiente de SCTs válidos) antes de assinar e recuse caso contrário.
Por que funciona assim
Seção intitulada “Por que funciona assim”A Certificate Transparency responde a uma pergunta restrita: este certificado está registrado publicamente e por quantos logs independentes. O NextPDF Enterprise modela essa resposta como um simples valor de resultado, não como um veredito. O resultado relata o sinalizador de extensão SCT, as contagens de SCTs e os identificadores dos logs emissores, e então para. Ele não decide se essa postura é boa o suficiente, porque o limiar de confiança é uma política da parte confiante que varia conforme a vida útil e o risco do certificado. Assim, a contagem de SCT mínimo continua sendo você quem define, e o NextPDF fica de fora dos papéis de operador de log, auditor e monitor. A Certificate Transparency é uma verificação entre várias em uma decisão de assinatura sólida, e esta página a torna uma barreira explícita antes de o signatário ser construído.
Contexto de design: Validar uma assinatura corretamente.
Pré-requisitos
Seção intitulada “Pré-requisitos”- Instale o NextPDF Core e o pacote Enterprise, e mantenha uma licença Enterprise ativa.
- Tenha o certificado de assinatura cuja postura de CT você quer impor, junto com os dados de SCT que o seu ambiente extrai dele.
- Decida o limiar de SCT mínimo que a sua política exige.
Configuração
Seção intitulada “Configuração”- Limiar de SCT mínimo — o número de SCTs válidos que um certificado deve carregar para passar na sua política. Passe-o para a verificação de limiar.
- Posicionamento da política — decida em que ponto do seu fluxo de trabalho de assinatura a barreira é executada: antes de construir o signatário, para que um certificado pouco registrado nunca chegue a uma operação de assinatura.
Passo a passo
Seção intitulada “Passo a passo”- Obtenha o resultado de CT para o seu certificado de assinatura, carregando o sinalizador de extensão SCT, as contagens total e válida de SCTs e os identificadores de log.
- Decida o limiar de SCT mínimo para a sua política.
- Execute a verificação de limiar; trate uma aprovação como “política de CT satisfeita” e uma reprovação como “recusar assinar com este certificado”.
- Coloque a barreira no fluxo de trabalho de assinatura com base no resultado, antes de o signatário ser construído.
<?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; }}Verificação
Seção intitulada “Verificação”- Construa um resultado com a extensão SCT presente e uma contagem de SCTs válidos no seu limiar, e confirme que a verificação de limiar passa.
- Construa um resultado uma unidade abaixo do seu limiar e confirme que a verificação falha.
- Construa um resultado com a extensão SCT ausente e confirme que a barreira recusa independentemente da contagem.
- Confirme que o seu fluxo de trabalho de assinatura não constrói um signatário quando a barreira recusa.
Segurança e compliance
Seção intitulada “Segurança e compliance”- O NextPDF representa e verifica por limiar; ele não opera logs. O NextPDF Enterprise expõe a postura de CT e uma verificação de SCT mínimo. Ele não é um log de CT, um auditor nem um monitor, e não submete certificados a logs.
- O limiar é a sua política. O valor de SCT mínimo é você quem define; o NextPDF não impõe um número. Uma extensão SCT ausente é uma reprovação clara de política.
- Coloque a barreira antes de assinar. Execute a verificação antes de construir o signatário, para que um certificado pouco registrado nunca chegue a uma operação de assinatura.
- A semântica do SCT segue os padrões. Um SCT é a promessa de um log que as partes confiantes esperam que esteja presente e válida (RFC 6962 §3; estrutura §3.1; CT v2 RFC 9162 §3).
Esta página trata de confiança em certificados. Toda fonte normativa é parafraseada; nenhum texto normativo é reproduzido.
Tratamento de falhas
Seção intitulada “Tratamento de falhas”- Sem extensão SCT. Trate um resultado sem a extensão SCT como uma reprovação de política; recuse-se a assinar.
- SCTs válidos insuficientes. Uma contagem de SCTs válidos abaixo do seu limiar reprova a verificação; recuse-se a assinar.
- Posicionamento da política. Execute a barreira antes de o signatário ser construído; uma verificação tardia que roda depois da assinatura não protege o documento produzido.
Limite de publicação
Seção intitulada “Limite de publicação”Esta página documenta apenas o comportamento observável externamente e a superfície de API pública suportada. Caminhos de namespace internos, classes auxiliares, tabelas de mecanismos, nomes de arquivos de runbook e prefixos de tickets estão fora de escopo.
Consulte também
Seção intitulada “Consulte também”- Security — NextPDF Enterprise — a superfície de segurança Enterprise combinada.
- Signature — NextPDF Enterprise — o produtor de longo prazo PAdES B-LT e B-LTA.
- HSM signing — NextPDF Enterprise — custódia de chaves em hardware PKCS#11.
- Security / Signing (Core) — o signatário CMS do Core e o contrato de estratégia de assinatura.
- Certificate Transparency · SCT — termos do glossário.