Add fix suggested in sros2 bug report. #1551
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Fixes #1546 by taking the solution from OpenDDS/OpenDDS#3992 (comment). As mentioned in the OpenDDS PR:
"Specifically, use PKCS7_NOINTERN to not accept any signatures in the signed document. This, in turn, requires the use of the certs parameter to PKCS7_verify. PKCS7_NOVERIFY is used since the permissions CA certificate will not be chain verified."
Related to: ros2/sros2#282
Verification
I built ros2 rolling from scratch with version of 0.10.2 cyclonedds and used the script in the sros2 linked above to verify the error was replicate-able. I then cherry-picked the commit in this PR to the 0.10.2 version of cyclonedds and repeated the test and confirmed the issue did not replicate.