* 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> |
||
|---|---|---|
| .. | ||
| attestation | ||
| core | ||
| eventhubs | ||
| identity | ||
| keyvault | ||
| storage | ||
| template | ||