You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Addresses a refetch bug the new logging surfaced, plus compliance-audit findings:
- Refetch metadata loss: GetCertificateAsync returns the body but NOT Subject /
ProfileId / OrderDate, and the refetch replaced `current` wholesale — so issued
certs synced with a null Subject (visible in logs: "Subject=(null)") and, worse,
a null ProductID (ProfileId feeds AnyCAPluginCertificate.ProductID). Carry the
listing's Subject/ProfileId/OrderDate across the refetch.
- DCV summary honesty (issue 0003 / SOC2 CC7.3): only report DCV attempt counts when
DCV is actually operational (DcvEnabled AND a DNS-provider factory injected). On a
host that doesn't supply one (e.g. IAnyCAPlugin 3.2.0) the summary now says DCV is
"not active" instead of a misleading Attempted=N — the gate is gated on dcvOperational.
- Aged-out audit (audit H-1): SkipByAge orders are logged at Information with
CARequestID/OrderDate so abandoned pending orders are auditable in production.
- skippedWithBody counter in the completion summary so it's visible whether any
body-carrying cert was skipped (expected 0).
172 unit tests pass; builds clean against IAnyCAPlugin 3.2.0 (0 warnings).
dcvClause=$"DCV-during-sync: not active (DcvEnabled={_config.DcvEnabled}, DnsProviderInjected={_domainValidatorFactory!=null}) — pending orders left as EXTERNALVALIDATION.";
1019
+
#else
1020
+
dcvClause="DCV-during-sync: not supported on this build (IAnyCAPlugin 3.2.0).";
0 commit comments