Add MSVC support and implement ECDSA key validation #328
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
This PR adds MSVC compiler support and implements basic ECDSA key validation functionality. The changes address existing TODO items and improve code quality.
Changes
MSVC Compiler Support
CMakeLists.txt
ECDSA Key Validation
src/crypto/key_validator/key_validator_impl.cpp
Code Quality
src/storage/sqlite.cpp
getErrorCode()
andgetErrorMessage()
const methodsTesting
The ECDSA validation logic was tested with various key sizes and formats:
All tests passed successfully.
Technical Details
The MSVC flags include standard warning levels, C++ compliance settings, and code quality checks. The ECDSA validation follows conservative validation patterns - rejecting invalid keys rather than accepting them.
Files Changed
CMakeLists.txt
- Added MSVC compiler flagssrc/crypto/key_validator/key_validator_impl.cpp
- Implemented ECDSA validationsrc/storage/sqlite.cpp
- Added const correctnessVerification