Fixed crypto API exceptions and bypassed FIPS enforcement#37
Merged
Conversation
…he sqllite crypto.cs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 PR fixes #28 and #33.
PR #29 broke some crypto functionality by using the
*CryptoServiceProviderAPIs.The initial exception reported in #33 shows that an IV is expected because the overloaded function was expected. Explicitly passing the IV resolved that exception. After further testing, despite the
*Managedand*CryptoServiceProviderAPIs supposedly being interchangeable, something is breaking internally, which I could not resolve.The reason for this change, as mentioned in PR #29, was to use FIPS-compliant algorithms on hosts that enforce FIPS. The
*CryptoServiceProviderAPIs are "somewhat" FIPS-compliant so, in theory, this is could work. However, these APIs broke functionality.The other option is to disable the enforcement of FIPS in the application's config file:
app.config.This PR revers back to the
*ManagedAPIs and disables enforcement of FIPS.