Inspect CRL (RFC 5280 §5 report, one entry lookup, signature check)
inspect_crlParse one X.509 CRL to report its issuer, dates, number, extensions and revocation entries, look up a serial, and optionally verify its signature against an issuer certificate.
Instructions
Read-only RFC 5280 §5 report of ONE certificate revocation list: version, issuer (RFC 4514 + RDNs), signature algorithm, thisUpdate / nextUpdate, CRL number, delta indicator and base CRL number, issuing distribution point, entry count (the entries are counted by walking, never all decoded — bounded by limits.maxRevokedCertificates), every extension decoded, size, diagnostics. find looks ONE serial up (serialHex, or a certificate whose serial and issuer are used) and returns entry (revoked, revocationDate, reason, invalidityDate, entry extensions). issuer adds a signature check — ONE signature against ONE key, not a verdict: check_crl_revocation judges a certificate against the list (freshness, scope, delta), verify_certificate_chain judges the whole chain. Token-frugal: verbosity:'summary' (issuerString, thisUpdateIso, nextUpdateIso, crlNumber, entryCount, isDelta, revoked, signatureValid). Input: pem / derBase64 / path.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| crl | Yes | The CRL (X509 CRL PEM or DER): exactly one of pem / derBase64 / path. | |
| find | No | Look one serial up in the list (the entries are walked, never all decoded): exactly one of serialHex / certificate. | |
| fields | No | Dot-paths to keep after verbosity (arrays map over elements); unmatched paths land in _meta.unmatchedFields. | |
| issuer | No | The CRL issuer certificate to check the signature against: exactly one of pem / derBase64 / path. A valid signature is NOT trust: check_crl_revocation / verify_certificate_chain judge revocation. | |
| limits | No | Raise pkinative's 22 named security bounds for this call (trusted input only; absent keys keep the engine defaults). A value above an operator ceiling (PKINATIVE_MCP_MAX_INPUT_BYTES, PKINATIVE_MCP_MAX_KDF_ITERATIONS, PKINATIVE_MCP_MAX_PATHS_EXPLORED) is LIMIT_CEILING_EXCEEDED; describe_engine lists the defaults and the ceilings. | |
| strict | No | Escalate the first engine warning to a PKI_STRICT_DIAGNOSTIC error instead of listing it in diagnostics[]. | |
| pemMode | No | 'strict' (RFC 7468 exactly, default) or 'lax' (tolerates whitespace, line length and RFC 1421 headers). | strict |
| allowSha1 | No | Accept or produce SHA-1 signatures (legacy material you already trust). Default false: refused with PKI_CRYPTO_ALGORITHM_REFUSED on read, VALIDATION_ERROR on write. | |
| verbosity | No | 'summary' keeps the scalar fields only (token-frugal). | full |
| encodingRules | No | 'der' (strict X.690 DER, default) or 'ber' (indefinite / non-minimal lengths and constructed strings, as legacy CMS producers write). | der |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| entry | No | The lookup asked for with `find`: whether the serial is listed, and the entry when it is. | |
| issuer | No | ||
| isDelta | No | Carries a deltaCRLIndicator (RFC 5280 §5.2.4). | |
| revoked | No | ||
| version | No | ||
| crlNumber | No | Decimal (RFC 5280 §5.2.3); null when absent. | |
| signature | No | The signature check asked for with `issuer`. ONE signature against ONE key — not a trust verdict. | |
| sizeBytes | No | ||
| entryCount | No | Entries in revokedCertificates (counted by walking, bounded by limits.maxRevokedCertificates). | |
| extensions | No | ||
| nextUpdate | No | ||
| thisUpdate | No | ||
| diagnostics | No | Non-fatal concerns the engine raised (PKI_DIAG_*, de-duplicated, at most 200; explain_code explains one). | |
| issuerString | No | RFC 4514 issuer. | |
| baseCrlNumber | No | The base CRL number a delta applies to (decimal); null otherwise. | |
| nextUpdateIso | No | ||
| thisUpdateIso | No | ||
| signatureValid | No | ||
| diagnosticCount | No | ||
| diagnosticCounts | No | Occurrences per diagnostic code. | |
| signatureAlgorithm | No | ||
| diagnosticsTruncated | No | true when distinct diagnostics beyond the 200 listed were dropped. | |
| issuingDistributionPoint | No | RFC 5280 §5.2.5, decoded (fullName, onlyContainsUserCerts, onlyContainsCACerts, onlySomeReasons, indirectCRL, onlyContainsAttributeCerts); null when absent = the list covers everything its CA issued. |