Skip to content

Commit

Permalink
Merged PR 10540579: Add OpenSSL implementation for RSA PSS test
Browse files Browse the repository at this point in the history
## Description:

## Admin Checklist:
- [ ] You have updated documentation in symcrypt.h to reflect any changes in behavior
- [ ] You have updated CHANGELOG.md to reflect any changes in behavior
- [ ] You have updated symcryptunittest to exercise any new functionality
- [ ] If you have introduced any symbols in symcrypt.h you have updated production and test dynamic export symbols (exports.ver / exports.def / symcrypt.src) and tested the updated dynamic modules with symcryptunittest
- [ ] If you have introduced functionality that varies based on CPU features, you have manually tested with and without relevant features
- [ ] If you have made significant changes to a particular algorithm, you have checked that performance numbers reported by symcryptunittest are in line with expectations
- [ ] If you have added new algorithms/modes, you have updated the status indicator text for the associated modules if necessary
  • Loading branch information
yourmsftacct committed Apr 12, 2024
1 parent f8950ca commit 60abd9e
Show file tree
Hide file tree
Showing 5 changed files with 388 additions and 3 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ prior to the creation of a new release, based on the changes contained in that r

- Add SymCryptEntropyAccumulator to Windows kernel module
- Fix tweak lower 64 bit overflow calculation in SYMCRYPT_XtsAesXxx
- Add OpenSSL implementation for XtsAes to symcryptunittest
- Add OpenSSL implementation for XtsAes and AesGcm to symcryptunittest
- Add OpenSSL implementation for RSA PSS to symcryptunittest
- Add Windows user mode DLL
- Fixed debug assertion failure in AES-GCM with nonce < 12 bytes when ASM is disabled

Expand Down
1 change: 0 additions & 1 deletion cmake-configs/OpenSSL.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ if(OPENSSL_BUILD_FROM_SOURCE)
WORKING_DIRECTORY ${OPENSSL_BUILD_ROOT})
endif()
endif()

if(NOT EXISTS "${OPENSSL_BUILD_ROOT}/OpenSSLConfig.cmake")
set(ENV{LANG} C)
set(ENV{LC_ALL} C)
Expand Down
2 changes: 2 additions & 0 deletions unittest/inc/algorithm_base.h
Original file line number Diff line number Diff line change
Expand Up @@ -663,6 +663,8 @@ typedef struct _RSAKEY_TESTBLOB {
BYTE abModulus[RSAKEY_MAXKEYSIZE];
BYTE abPrime1[RSAKEY_MAXKEYSIZE];
BYTE abPrime2[RSAKEY_MAXKEYSIZE];
// Only set in OpenSSL implementation right now.
BYTE abPrivateExp[RSAKEY_MAXKEYSIZE];

// And some fields to make debugging easier
const char * pcstrSource; // Where did this key come from
Expand Down
7 changes: 7 additions & 0 deletions unittest/inc/openssl_implementations.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,12 @@ class AuthEncImpState<ImpOpenssl, AlgAes, ModeGcm> {
BOOLEAN inComputation;
};

template<>
class RsaSignImpState<ImpOpenssl, AlgRsaSignPss> {
public:
EVP_PKEY *pkey;
EVP_PKEY_CTX *pkey_ctx;
};

VOID
addOpensslAlgs();
Loading

0 comments on commit 60abd9e

Please sign in to comment.