[WIP] Bound RsaPublicKey::new
on 4096-bits; add ::new_large
#171
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.
NOTE: depends on #170
This commit fixes #166 by enforcing a 4096-bit upper limit by default, which prevents potential DoS by using maliciously large RSA keys.
The PKCS#1/PKCS#8 parsers use this API, limiting the size of keys parsed from these formats to 4096-bits.
An
RsaPrivateKey::new_large
constructor has been added which enforces the 16384-bit limit added in #170. This can be used for unusual applications that need to support larger keys.RsaPrivateKey::from_components
uses the::new_large
constructor, so private keys follow the 16384-bit limit only.The
RsaPrivateKey::MAX_SIZE
andRsaPrivateKey::MAX_SIZE_LARGE
inherent constants specify the maximum allowed sizes.