* Add dependency to WIL in azure-identity-cpp when on WIndows.
* Use Win32 APIs to get the thumbprint and private key of a certificate.
* Don't use `out_param_ptr` in `GetPrivateKey`.
`NCRYPT_KEY_HANDLE` is not a pointer but a uintptr and using `out_param_ptr` with it causes compiler errors.
* Use Win32 APIs to sign messages with a private key.
* Remove the OpenSSL dependency from azure-identity-cpp on Windows.
We can't remove it from the root vcpkg.json that gets used for development, because an attestation example uses OpenSSL for certificate code.
* Update the changelog.
* Fix compile errors.
We can't use WIL in the public headers; we will use instead the same approach with the OpenSSL handles.
* Fix more compile errors.
* Use `AZ_PLATFORM_WINDOWS`.
* clang-format
* Update cspell.json
* Update CHANGELOG.md
* Update cspell.json
* Update cspell.json
* Attempt to make spell checker happy with minimum changes
* Ignore `CMakeUserPresets.json`.
* Move to the BCrypt APIs in anticipation of the rewrite.
* Use Windows APIs to read the certificate and the private key in PEM format.
* Move decoding the PEM string to its own function.
* Remove redundant error messages from some checks.
WIL does not recommend them if they do not provide additional information, and it already captures the source location.
* Support opening raw RSA and ECC private keys.
* Stop using pseudo-handles.
They are not supported in Windows Server 2012 R2, which is still supported.
* Fix CI.
* Refactor the ClientCertificateCredential tests and test more certificates.
Thanks to googletest's parameterized tests, duplicate code was eliminated and we test twelve cases with only two test methods.
* Improve code sharing across OpenSSL and CNG.
* Fix error checks when signing.
* Remove ECC certificate support.
Turns out Microsoft identity platform itself does not support them.
* Replace `#ifdef` with `#if defined`.
* Move some CryptoAPI-related terms to a `cspell.json` file local to `azure-identity`.
* Exclude the root `cspell.json` file from gitignore.
* Clean-up `cspell.json`.
* Fix linked libraries of `azure-identity`.
We don't use ncrypt anymore.
* Move `platform.hpp` to `client_certificate_credential.cpp`.
* Clean-up `UniquePrivateKey` and reduce mentions of `pkey`.
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>