diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/CryptographyAsyncClient.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/CryptographyAsyncClient.java index 8143a33328c3..1d93fd6bcbf6 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/CryptographyAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/CryptographyAsyncClient.java @@ -62,6 +62,7 @@ public class CryptographyAsyncClient { private LocalKeyCryptographyClient localKeyCryptographyClient; private final ClientLogger logger = new ClientLogger(CryptographyAsyncClient.class); private String keyCollection; + private final String keyId; /** * Creates a CryptographyAsyncClient that uses {@code pipeline} to service requests @@ -83,6 +84,7 @@ public class CryptographyAsyncClient { throw new IllegalArgumentException("Json Web Key's key type property is not configured"); } this.key = key; + this.keyId = key.getId(); service = RestProxy.create(CryptographyService.class, pipeline); if (!Strings.isNullOrEmpty(key.getId())) { unpackAndValidateId(key.getId()); @@ -102,6 +104,7 @@ public class CryptographyAsyncClient { */ CryptographyAsyncClient(String keyId, HttpPipeline pipeline, CryptographyServiceVersion version) { unpackAndValidateId(keyId); + this.keyId = keyId; service = RestProxy.create(CryptographyService.class, pipeline); cryptographyServiceClient = new CryptographyServiceClient(keyId, service); this.key = null; @@ -123,6 +126,10 @@ private void initializeCryptoClients() { } } + Mono getKeyId() { + return Mono.defer(() -> Mono.just(keyId)); + } + /** * Gets the public part of the configured key. The get key operation is applicable to all key types and it requires * the {@code keys/get} permission. diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyAsyncClient.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyAsyncClient.java index a9215929a256..d8f25c4d32f4 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyAsyncClient.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyAsyncClient.java @@ -30,15 +30,13 @@ public final class KeyEncryptionKeyAsyncClient extends CryptographyAsyncClient i } /** - * {@inheritDoc} + * Get the identifier of the key to use for cryptography operations. + * + * @return A {@link Mono} containing the key identifier. */ @Override public Mono getKeyId() { - try { - return Mono.just(key.getId()); - } catch (RuntimeException ex) { - return monoError(logger, ex); - } + return super.getKeyId(); } /** diff --git a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClient.java b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClient.java index 494bfad93373..0c56841b80e8 100644 --- a/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClient.java +++ b/sdk/keyvault/azure-security-keyvault-keys/src/main/java/com/azure/security/keyvault/keys/cryptography/KeyEncryptionKeyClient.java @@ -21,7 +21,9 @@ public final class KeyEncryptionKeyClient implements KeyEncryptionKey { } /** - * {@inheritDoc} + * Get the identifier of the key to use for cryptography operations. + * + * @return The key identifier. */ @Override public String getKeyId() {