This PR updates KeyAgreement to re-initialize the `serviceIterator` field when chooseProvider() is called and serviceIterator.hasNext() returns false. This can happen if KeyAgreement object has been initialized with an invalid key and then initialized with a valid key. (See accompanying test.)
------------- Commit messages: - 8323999: KeyAgreement cannot be initiated again after a failed initialization Changes: https://git.openjdk.org/jdk/pull/28004/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=28004&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8323999 Stats: 72 lines in 2 files changed: 72 ins; 0 del; 0 mod Patch: https://git.openjdk.org/jdk/pull/28004.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/28004/head:pull/28004 PR: https://git.openjdk.org/jdk/pull/28004
