Граф коммитов

5 Коммитов

Автор SHA1 Сообщение Дата
Mitch Lindgren 🦎 198be4c6b7 Merged PR 10493895: Add Windows user mode module
This change adds a new Windows user-mode module, symcrypt.dll. We plan to integrate this module into a future release of Windows as our primary FIPS-certified cryptographic module. Until that happens, we're making the module publicly available for the convenience of other projects that build on top of SymCrypt, such as our [rust-symcrypt crate](https://github.com/microsoft/rust-symcrypt).

Tested: dynamic unit tests run locally against the new module, ADO pipeline CI tests
2024-03-30 01:10:14 +00:00
Samuel Lee 22d48621ae Merged PR 10332702: Prepare SymCrypt undocked build for undocked LKG which specifies most kernel mode flags
## Description:

+ Remove many workarounds in SymCrypt undocked props files for missing flags
+ Explicitly build SymCryptK.dll with no entrypoint, remove the fake entry point from code, and call `__security_init_cookie` in `SymCryptModuleInit` to prevent binskim errors.
+ Remove reference to memset in `SymCryptEntropyAccumulatorAccumulateSample` to reduce size and complexity of resulting SymCryptK.dll with real build environment (memset is not inlined as expected).

## Admin Checklist:
- [X] You have updated documentation in symcrypt.h to reflect any changes in behavior
- [X] You have updated CHANGELOG.md to reflect any changes in behavior
- [X] You have updated symcryptunittest to exercise any new functionality
- [X] 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
- [X] If you have introduced functionality that varies based on CPU features, you have manually tested with and without relevant features
- [X] If you have made significant changes to a particular algorithm, you have checked that performance numbers reported by symcryptunittest are in line with expectations
- [X] If you have added new algorithms/modes, you have updated the status indicator text for the associated modules if necessary

Related work items: #49010014
2024-02-26 22:53:09 +00:00
Mitch Lindgren 🦎 17360b237b Merged PR 9671493: Fix build issues with newest compiler package
This change sets the `UndockedKernelModeBuild` property for our kernel-mode components, to fix linking issues that arose from the latest compiler package.
2023-10-04 21:55:16 +00:00
Mitch Lindgren 🦎 b4f07a34bd Merged PR 9504829: Fix ARM64X build
This change fixes the ARM64 build to properly support ARM64X, which is required for linking to Windows components.

- Add `<BuildAsX>true</BuildAsX>` to MSBuild properties
- Add `-machine arm64ec` arg when assembling for ARM64EC
- Fix non-standard SEH keywords in cpuid.c (not supported by ARM64EC compiler)
- Remove ARM32 support since build tools no longer support it

Related work items: #42154581
2023-08-31 00:25:12 +00:00
Mitch Lindgren 🦎 6fca352c3e Merged PR 8797661: Add MSBuild solution and project files for SymCrypt
This pull request adds MSBuild solution and project files so that SymCrypt can be built using the undocked OneBranch pipeline, including the kernel mode components. See the SymCrypt EO Compliance document for more information on why this is being done, and the high-level overview of how it will be accomplished.

In addition to adding the MSBuild files, I removed a bunch of files that were no longer being used, such as the iOS workspace and project files, old kernel test drivers that are not used in the RI-TP, etc.

Related work items: #42154697
2023-05-23 08:11:33 +00:00