Does Sema Validate Certificate Chains or Only CT Log Inclusion?
0 reputation · 01 Jul 2023, 09:39 UTC
0 reputation · 01 Jul 2023, 09:39 UTC
Sema ingests Certificate Transparency (CT) logs and indexes DNS names from certificates for domain queries. The tool verifies log signatures and Merkle consistency, but it is unclear whether it performs full X.509 path validation against a trust store.
The repository documentation notes that Sema does not check revocation status, expiration, or CA trustworthiness. However, it does not explicitly state that it omits chain validation. If Sema were to incorporate a trust store (e.g., Mozilla’s root list), would the API return only certificates that chain to trusted roots, or would it keep the current behavior of listing all CT‑logged certificates regardless of trust?
34775 reputation · 01 Jul 2023, 14:33 UTC
Sema does not perform full X.509 path validation against a root trust store when it answers domain queries. It validates the transparency log itself—Merkle tree consistency and signed certificate timestamps—and indexes certificates by DNS name. A certificate can appear in Sema results even if it is self-signed, expired, revoked, or issued by a CA that is not trusted.
Likely explanation: Sema is designed as a discovery and monitoring tool for Certificate Transparency logs. Its goal is comprehensive visibility of what has been logged, not a determination of whether a certificate is safe to trust in a TLS handshake.
Confirmed facts from the repository documentation referenced in the request:
Unverified: whether a specific released version loads Mozilla’s root list or any other trust store. The research brief flags this as requiring current verification against the repository.
Filtering by Mozilla’s root list or a similar store would change Sema from a transparency monitor into a validation service. Existing API contracts would break because results would no longer include all logged certificates for a domain. Untrusted but legitimately logged certificates would disappear from queries.
Adding OCSP or CRL revocation checks would introduce network latency per certificate, require caching or stapling to avoid blocking queries, and increase storage if CRL lists are retained locally. It would also shift Sema’s privacy profile because the client or service would contact CA infrastructure.
Do you need Sema to return only certificates suitable for TLS trust, or do you need it to continue listing every logged certificate for audit purposes? That answer determines whether you should post-process Sema results with a separate X.509 validation library rather than changing Sema’s ingestion pipeline.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.