* 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>
* Clean up version requirements
* Revert curl back to 7.44
* Update vcpkg.json
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Identity: Improve diagnosability
* Update sdk/identity/azure-identity/src/azure_cli_credential.cpp
Co-authored-by: Larry Osterman <LarryOsterman@users.noreply.github.com>
* GCC fix
* Mac fix
* More agressive sanitizing
* cspell
* minor CI fixes
* Improve
* More tests
* min/max values test
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Larry Osterman <LarryOsterman@users.noreply.github.com>
* doxygen fixes
* enable doxygen errors now that doxygen is updated.
---------
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
* Disable deprecation warnings in cmakelists.txt to avoid introducing new concepts; removed unnecessary uses of get_env.hpp
* Removed use of GetEnvHelper from AMQP samples
* Removed special case for get_env.hpp
* Standardized header ordering for C++ repo
* Reordered categories to move private headers above public headers; added space between categories to enable future flexibility
* Fix potentially high CPU usage on Windows
* Undo unnecessary formatting
* Undo unnecessary changelog
* Undo unnecessary formatting
* Undo unnecessary formatting
* Uninclude locale
* Add issue link to changelog
* EXPECT_TRUE(a == b) => EXPECT_EQ(a, b)
* Update second changelog with link as well
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Use aka.ms link to Identity troubleshooting
* Update default_azure_credential.cpp
* Update default_azure_credential.cpp
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Identity February Release
* Accumulate changelog entries from previous Beta releases
* Update core minimum version requirement
* Best way to fix which may not work in CI
* Drop version from cmakelists
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Compilation fixes for UWP
* More accurate condition
* Fix warnings
* Format files as vcpkg formats them; pull one change back from vcpkg
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Create ApiViewSettings for most existing packages
* Corrected name for blobs storage review name
* Added cspell settings for DCURL
* Create ApiViewSettings for most existing packages
* Corrected name for blobs storage review name
* Added cspell settings for DCURL
* ApiView settings changes for DataLake
* Renamed includeInternal to allowInternal; Added storage common; Fixed package names
* Fixed spelling error
* If there's an error accessing the site with no CRL checks, don't try it any more
* Stop checking example.com because it doesn't work
* Update sdk/attestation/azure-security-attestation/inc/ApiViewSettings.json
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Update sdk/core/azure-core/inc/ApiViewSettings.json
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Update sdk/keyvault/azure-security-keyvault-secrets/inc/ApiViewSettings.json
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* ClientCertificateCredential: Add AuthorityHost override and Azure Stack support
* Use RAII types for handles
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>