When getSuppressRedundantExtraCerts returns true, the behavior documented in the code is:
do not sent an extraCerts certificate twice in a message flow related to a specific transactionID.
(BTW, there is a grammar mistake in this sentence, using "sent" instead of "send"; please fix it along with this issue.)
The expected behavior is that in each transaction the component does not send extraCerts twice in the same direction,
(but of course still include it when used for the first time in the given direction on the upstream or downstream interface).
Please clarify the direction/interface-related behavior in the documentation.
With true, at least when re-protecting an IP message received from upstream, users experienced unsuitable behavior:
Although the signer certificate is used by the CmpRaComponent on its downstream interface for the first time in the transaction,
its signer cert and chain are excluded from the extraCerts (such that only the upstream issuing CA cert and potentially its chain remains).
Maybe this too aggressive pruning is related to the signer cert and chain already being used for re-protecting the IR message preceding it when forwarding it upstream. Yet this should have no influence on the behavior on the downstream interface.
In any case, such pruning must be done per each message interface (independently of other upstream/downstream interfaces).
Moreover, CI tests for getSuppressRedundantExtraCerts returning true appear to be missing.
When
getSuppressRedundantExtraCertsreturnstrue, the behavior documented in the code is:(BTW, there is a grammar mistake in this sentence, using "sent" instead of "send"; please fix it along with this issue.)
The expected behavior is that in each transaction the component does not send extraCerts twice in the same direction,
(but of course still include it when used for the first time in the given direction on the upstream or downstream interface).
Please clarify the direction/interface-related behavior in the documentation.
With
true, at least when re-protecting an IP message received from upstream, users experienced unsuitable behavior:Although the signer certificate is used by the CmpRaComponent on its downstream interface for the first time in the transaction,
its signer cert and chain are excluded from the extraCerts (such that only the upstream issuing CA cert and potentially its chain remains).
Maybe this too aggressive pruning is related to the signer cert and chain already being used for re-protecting the IR message preceding it when forwarding it upstream. Yet this should have no influence on the behavior on the downstream interface.
In any case, such pruning must be done per each message interface (independently of other upstream/downstream interfaces).
Moreover, CI tests for
getSuppressRedundantExtraCertsreturningtrueappear to be missing.