Improve use of PAL's RawData for X509Certificate #103828
Merged
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.
This change pushes down the memoization of
RawData
from X509Certificate2 to X509Certificate (so we don't have it memoized twice). This is because theRawData
property on theICertificatePal
may allocate, such as the case of the OpenSSL PAL.Since the memoized value is available in the base X509Certificate, use it where appropriate such as creating the hash of a certificate. This also makes a small optimization of using the stack for the intermediate bytes between the hash and the hex value.
See #103814 for some background.