Class CtLogSubmitter

java.lang.Object
zeroecho.pki.server.ct.CtLogSubmitter

public final class CtLogSubmitter extends Object
Submits a pre-certificate to multiple CT logs in parallel using virtual threads.

Each configured CT log receives the pre-certificate concurrently. Results from logs that respond before the deadline are collected; failed or timed-out submissions are logged at WARNING level and do not cause the overall submission to fail. The caller (SctVerifier) is responsible for enforcing the minimum-SCT count requirement.

Thread safety

This class is stateless and thread-safe.

Since:
1.0
  • Method Details

    • submitAll

      public static List<SignedCertificateTimestamp> submitAll(byte[] preCertDer, List<byte[]> chainDer, List<CtLogClient> logs, Instant deadline)
      Submits a pre-certificate to all configured CT logs in parallel using virtual threads and returns all SCTs received before the deadline.

      This method does not enforce a minimum SCT count; call SctVerifier.verifyAll(List, Map, byte[], int) on the returned list to apply the policy. Logs that fail or time out produce a WARNING log entry and are excluded from the returned list. An empty list is returned if all logs fail.

      Parameters:
      preCertDer - DER-encoded pre-certificate; must not be null
      chainDer - DER-encoded issuer chain, issuer certificate first; must not be null
      logs - CT log clients to submit to; must not be null; callers retain ownership and this method never closes them
      deadline - latest time by which all submissions must complete; must not be null
      Returns:
      all SCTs received before the deadline (may be empty)
      Throws:
      NullPointerException - if any argument is null
      Since:
      1.0