Resolve the CRL_REVOKED_SERIAL vs SimpleAttributeSet.Builder semantic mismatch #8
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Review and fix the semantic mismatch between CRL generation and attribute collection semantics. BcX509StatusObjectGenerator reads all values associated with CRL_REVOKED_SERIAL, which implies a multi-valued attribute model for CRL input.
At the same time, the current builder pattern used in SimpleAttributeSet is last-write-wins for repeated put(id, value), which is incompatible with repeated-value accumulation if the same AttributeId is meant to carry multiple serials. This is also relevant because DefaultIssuanceService enriches attributes using a builder with overwrite semantics.
Why this matters
If left ambiguous, CRL generation semantics may be accidentally wrong or become fragile when fed through builders rather than directly through pre-built maps.
Acceptance criteria