* Try to see what happens without coverage exclusions
* Reset coverage limits
* Mark ThrowParseError as [[noreturn]] to ensure compiler knows that code after it is dead code
* Added tests for the Azure assert macro
---------
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Change the default option for authority host to be read from the environment first.
* Update changelog.
* Update doc comment and refer to the env var correctly.
* Update doc comments and add unit tests.
* Azure Identity September Release
* Update release date in CHANGELOG.md
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Modify the order of the credentials used within the to be consistent with other languages.
* Update LogMessages test since the order of credentials has changed.
* Fix the order for the rest of the log messages within the test.
* Update svg and clang format.
* Add WorkloadIdentityCredential to the DefaultAzureCredential.
* Clang format and update the CL.
* Address PR feedback - update CL, and SVG
* Define the required AZURE_FEDERATED_TOKEN_FILE env variable in the test.
* Update DAC unit test to include WIC in the log messages.
* Make several params to WorkloadIdentityCredential optional and read them from the environment instead.
* Fix typo in calling the ClientCredentialCore ctor
* Add changelog entry.
* Address PR feedback, avoid creating many WIC options instances.
* Update ctor impl and add options test.
* Set locals if the options are non-empty, and void unused variable in tests.
* Fixup the sample since the customer no longer needs to explicitly pass in those params.
* Better cmake UWP detection condition (use the same definition as vcpkg)
* Update Config.cmake.in
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* 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>