RUBY-3497: Use leaf cert instead of last one in verify_ocsp_endpoint #2876
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.
Summary:
The MongoDB Ruby driver incorrectly handles the OCSP certificate chain by using the last certificate in the chain as the issuer. The correct behavior should be to use the certificate directly after the leaf certificate. This issue causes OCSP verification to fail when the chain contains multiple certificates.
Details:
In the current implementation of the MongoDB Ruby driver, the OCSP verification uses the last certificate in the peer_cert_chain as the issuer certificate. However, according to the correct practice and as implemented in the official MongoDB Go driver, the certificate directly after the leaf certificate should be used as the issuer.