diff --git a/azure-keyvault-cryptography/src/main/java/com/microsoft/azure/keyvault/cryptography/EcKey.java b/azure-keyvault-cryptography/src/main/java/com/microsoft/azure/keyvault/cryptography/EcKey.java index acc0f89f9a1ad..7e555e12b1688 100644 --- a/azure-keyvault-cryptography/src/main/java/com/microsoft/azure/keyvault/cryptography/EcKey.java +++ b/azure-keyvault-cryptography/src/main/java/com/microsoft/azure/keyvault/cryptography/EcKey.java @@ -2,6 +2,7 @@ import java.io.IOException; import java.math.BigInteger; +import java.security.GeneralSecurityException; import java.security.InvalidAlgorithmParameterException; import java.security.KeyFactory; import java.security.KeyPair; @@ -223,16 +224,16 @@ public static EcKey fromJsonWebKey(JsonWebKey jwk, boolean includePrivateParamet * @param includePrivateParameters true if the EC key pair should include the private key. False otherwise. * @param provider the Java Security Provider * @return EcKey - * @throws NoSuchAlgorithmException - * @throws InvalidAlgorithmParameterException - * @throws InvalidKeySpecException - * @throws NoSuchProviderException */ - public static EcKey fromJsonWebKey(JsonWebKey jwk, boolean includePrivateParameters, Provider provider) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, InvalidKeySpecException, NoSuchProviderException { - if (jwk.kid() != null) { - return new EcKey(jwk.kid(), jwk.toEC(includePrivateParameters, provider)); - } else { - throw new IllegalArgumentException("Json Web Key should have a kid"); + public static EcKey fromJsonWebKey(JsonWebKey jwk, boolean includePrivateParameters, Provider provider) { + try { + if (jwk.kid() != null) { + return new EcKey(jwk.kid(), jwk.toEC(includePrivateParameters, provider)); + } else { + throw new IllegalArgumentException("Json Web Key should have a kid"); + } + } catch (GeneralSecurityException e) { + throw new IllegalStateException(e); } } @@ -240,37 +241,41 @@ public static EcKey fromJsonWebKey(JsonWebKey jwk, boolean includePrivateParamet * Converts EcKey to JSON web key. * @return */ - public JsonWebKey toJsonWebKey() throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { + public JsonWebKey toJsonWebKey() { return JsonWebKey.fromEC(_keyPair, _provider); } // Matches the curve of the keyPair to supported curves. - private JsonWebKeyCurveName getCurveFromKeyPair(KeyPair keyPair) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { - ECPublicKey key = (ECPublicKey) keyPair.getPublic(); - ECParameterSpec spec = key.getParams(); - EllipticCurve crv = spec.getCurve(); - - List curveList = Arrays.asList(JsonWebKeyCurveName.P_256, JsonWebKeyCurveName.P_384, JsonWebKeyCurveName.P_521, JsonWebKeyCurveName.SECP256K1); - - for (JsonWebKeyCurveName curve : curveList) { - ECGenParameterSpec gps = new ECGenParameterSpec(CURVE_TO_SPEC_NAME.get(curve)); - KeyPairGenerator kpg = KeyPairGenerator.getInstance("EC", _provider); - kpg.initialize(gps); + private JsonWebKeyCurveName getCurveFromKeyPair(KeyPair keyPair) { + try { + ECPublicKey key = (ECPublicKey) keyPair.getPublic(); + ECParameterSpec spec = key.getParams(); + EllipticCurve crv = spec.getCurve(); - // Generate dummy keypair to get parameter spec. - KeyPair apair = kpg.generateKeyPair(); - ECPublicKey apub = (ECPublicKey) apair.getPublic(); - ECParameterSpec aspec = apub.getParams(); - EllipticCurve acurve = aspec.getCurve(); + List curveList = Arrays.asList(JsonWebKeyCurveName.P_256, JsonWebKeyCurveName.P_384, JsonWebKeyCurveName.P_521, JsonWebKeyCurveName.SECP256K1); - //Matches the parameter spec - if (acurve.equals(crv)) { - return curve; + for (JsonWebKeyCurveName curve : curveList) { + ECGenParameterSpec gps = new ECGenParameterSpec(CURVE_TO_SPEC_NAME.get(curve)); + KeyPairGenerator kpg = KeyPairGenerator.getInstance("EC", _provider); + kpg.initialize(gps); + + // Generate dummy keypair to get parameter spec. + KeyPair apair = kpg.generateKeyPair(); + ECPublicKey apub = (ECPublicKey) apair.getPublic(); + ECParameterSpec aspec = apub.getParams(); + EllipticCurve acurve = aspec.getCurve(); + + //Matches the parameter spec + if (acurve.equals(crv)) { + return curve; + } } + + //Did not find a supported curve. + throw new IllegalArgumentException ("Curve not supported."); + } catch (GeneralSecurityException e) { + throw new IllegalStateException(e); } - - //Did not find a supported curve. - throw new IllegalArgumentException ("Curve not supported."); } /** diff --git a/azure-keyvault-webkey/src/main/java/com/microsoft/azure/keyvault/webkey/JsonWebKey.java b/azure-keyvault-webkey/src/main/java/com/microsoft/azure/keyvault/webkey/JsonWebKey.java index ca45becbb1f36..27b11abe20d2a 100644 --- a/azure-keyvault-webkey/src/main/java/com/microsoft/azure/keyvault/webkey/JsonWebKey.java +++ b/azure-keyvault-webkey/src/main/java/com/microsoft/azure/keyvault/webkey/JsonWebKey.java @@ -575,18 +575,25 @@ private PrivateKey getRSAPrivateKey(Provider provider) { } - private static PublicKey getECPublicKey(ECPoint ecPoint, ECParameterSpec curveSpec, Provider provider) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, InvalidKeySpecException, NoSuchProviderException { + private static PublicKey getECPublicKey(ECPoint ecPoint, ECParameterSpec curveSpec, Provider provider) { // Create public key spec with given point - ECPublicKeySpec pubSpec = new ECPublicKeySpec(ecPoint, curveSpec); - KeyFactory kf = provider != null ? KeyFactory.getInstance("EC", provider) : KeyFactory.getInstance("EC", "SunEC"); - return (ECPublicKey) kf.generatePublic(pubSpec); - + try { + ECPublicKeySpec pubSpec = new ECPublicKeySpec(ecPoint, curveSpec); + KeyFactory kf = provider != null ? KeyFactory.getInstance("EC", provider) : KeyFactory.getInstance("EC", "SunEC"); + return (ECPublicKey) kf.generatePublic(pubSpec); + } catch (GeneralSecurityException e) { + throw new IllegalStateException(e); + } } - private static PrivateKey getECPrivateKey(byte[] d, ECParameterSpec curveSpec, Provider provider) throws NoSuchAlgorithmException, InvalidKeySpecException, NoSuchProviderException { - ECPrivateKeySpec priSpec = new ECPrivateKeySpec(new BigInteger(1, d), curveSpec); - KeyFactory kf = provider != null ? KeyFactory.getInstance("EC", provider) : KeyFactory.getInstance("EC", "SunEC"); - return (ECPrivateKey) kf.generatePrivate(priSpec); + private static PrivateKey getECPrivateKey(byte[] d, ECParameterSpec curveSpec, Provider provider) { + try { + ECPrivateKeySpec priSpec = new ECPrivateKeySpec(new BigInteger(1, d), curveSpec); + KeyFactory kf = provider != null ? KeyFactory.getInstance("EC", provider) : KeyFactory.getInstance("EC", "SunEC"); + return (ECPrivateKey) kf.generatePrivate(priSpec); + } catch (GeneralSecurityException e) { + throw new IllegalStateException(e); + } } /** @@ -699,9 +706,8 @@ public KeyPair toRSA(boolean includePrivateParameters, Provider provider) { /** * Converts JSON web key to EC key pair and include the private key if set to true. * @return EC key pair - * @throws NoSuchProviderException */ - public KeyPair toEC() throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, InvalidKeySpecException, NoSuchProviderException { + public KeyPair toEC() { return toEC(false, null); } @@ -709,9 +715,8 @@ public KeyPair toEC() throws NoSuchAlgorithmException, InvalidAlgorithmParameter * Converts JSON web key to EC key pair and include the private key if set to true. * @param includePrivateParameters true if the EC key pair should include the private key. False otherwise. * @return EC key pair - * @throws NoSuchProviderException */ - public KeyPair toEC(boolean includePrivateParameters) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, InvalidKeySpecException, NoSuchProviderException { + public KeyPair toEC(boolean includePrivateParameters) { return toEC(includePrivateParameters, null); } @@ -719,10 +724,10 @@ public KeyPair toEC(boolean includePrivateParameters) throws NoSuchAlgorithmExce * Converts JSON web key to EC key pair and include the private key if set to true. * @param provider the Java security provider. * @param includePrivateParameters true if the EC key pair should include the private key. False otherwise. + * @param provider Java security provider * @return EC key pair - * @throws NoSuchProviderException */ - public KeyPair toEC(boolean includePrivateParameters, Provider provider) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException, InvalidKeySpecException, NoSuchProviderException { + public KeyPair toEC(boolean includePrivateParameters, Provider provider) { if (provider == null) { //Our default provider for this class @@ -733,39 +738,42 @@ public KeyPair toEC(boolean includePrivateParameters, Provider provider) throws throw new IllegalArgumentException("Not an EC key."); } - KeyPairGenerator kpg = KeyPairGenerator.getInstance("EC", provider); - - ECGenParameterSpec gps = new ECGenParameterSpec(CURVE_TO_SPEC_NAME.get(crv)); - kpg.initialize(gps); - - // Generate dummy keypair to get parameter spec. - KeyPair apair = kpg.generateKeyPair(); - ECPublicKey apub = (ECPublicKey) apair.getPublic(); - ECParameterSpec aspec = apub.getParams(); - - ECPoint ecPoint = new ECPoint(new BigInteger(1, x), new BigInteger(1, y)); - - KeyPair realKeyPair; - - if (includePrivateParameters) { - realKeyPair = new KeyPair(getECPublicKey(ecPoint, aspec, provider), getECPrivateKey(d, aspec, provider)); - } else { - realKeyPair = new KeyPair(getECPublicKey(ecPoint, aspec, provider), null); + try { + KeyPairGenerator kpg = KeyPairGenerator.getInstance("EC", provider); + + ECGenParameterSpec gps = new ECGenParameterSpec(CURVE_TO_SPEC_NAME.get(crv)); + kpg.initialize(gps); + + + // Generate dummy keypair to get parameter spec. + KeyPair apair = kpg.generateKeyPair(); + ECPublicKey apub = (ECPublicKey) apair.getPublic(); + ECParameterSpec aspec = apub.getParams(); + + ECPoint ecPoint = new ECPoint(new BigInteger(1, x), new BigInteger(1, y)); + + KeyPair realKeyPair; + + if (includePrivateParameters) { + realKeyPair = new KeyPair(getECPublicKey(ecPoint, aspec, provider), getECPrivateKey(d, aspec, provider)); + } else { + realKeyPair = new KeyPair(getECPublicKey(ecPoint, aspec, provider), null); + } + + return realKeyPair; + } catch (GeneralSecurityException e) { + throw new IllegalStateException(e); } - - return realKeyPair; } /** * Converts EC key pair to JSON web key. * @param keyPair EC key pair - * @provider Java security provider + * @param provider Java security provider * @return the JSON web key, converted from EC key pair. - * @throws InvalidAlgorithmParameterException - * @throws NoSuchAlgorithmException */ - public static JsonWebKey fromEC(KeyPair keyPair, Provider provider) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { - + public static JsonWebKey fromEC(KeyPair keyPair, Provider provider) { + ECPublicKey apub = (ECPublicKey) keyPair.getPublic(); ECPoint point = apub.getW(); ECPrivateKey apriv = (ECPrivateKey) keyPair.getPrivate(); @@ -789,32 +797,37 @@ public static JsonWebKey fromEC(KeyPair keyPair, Provider provider) throws NoSuc } // Matches the curve of the keyPair to supported curves. - private static JsonWebKeyCurveName getCurveFromKeyPair(KeyPair keyPair, Provider provider) throws NoSuchAlgorithmException, InvalidAlgorithmParameterException { - ECPublicKey key = (ECPublicKey) keyPair.getPublic(); - ECParameterSpec spec = key.getParams(); - EllipticCurve crv = spec.getCurve(); - - List curveList = Arrays.asList(JsonWebKeyCurveName.P_256, JsonWebKeyCurveName.P_384, JsonWebKeyCurveName.P_521, JsonWebKeyCurveName.SECP256K1); + private static JsonWebKeyCurveName getCurveFromKeyPair(KeyPair keyPair, Provider provider) { - for (JsonWebKeyCurveName curve : curveList) { - ECGenParameterSpec gps = new ECGenParameterSpec(CURVE_TO_SPEC_NAME.get(curve)); - KeyPairGenerator kpg = KeyPairGenerator.getInstance("EC", provider); - kpg.initialize(gps); + try { + ECPublicKey key = (ECPublicKey) keyPair.getPublic(); + ECParameterSpec spec = key.getParams(); + EllipticCurve crv = spec.getCurve(); - // Generate dummy keypair to get parameter spec. - KeyPair apair = kpg.generateKeyPair(); - ECPublicKey apub = (ECPublicKey) apair.getPublic(); - ECParameterSpec aspec = apub.getParams(); - EllipticCurve acurve = aspec.getCurve(); + List curveList = Arrays.asList(JsonWebKeyCurveName.P_256, JsonWebKeyCurveName.P_384, JsonWebKeyCurveName.P_521, JsonWebKeyCurveName.SECP256K1); - //Matches the parameter spec - if (acurve.equals(crv)) { - return curve; + for (JsonWebKeyCurveName curve : curveList) { + ECGenParameterSpec gps = new ECGenParameterSpec(CURVE_TO_SPEC_NAME.get(curve)); + KeyPairGenerator kpg = KeyPairGenerator.getInstance("EC", provider); + kpg.initialize(gps); + + // Generate dummy keypair to get parameter spec. + KeyPair apair = kpg.generateKeyPair(); + ECPublicKey apub = (ECPublicKey) apair.getPublic(); + ECParameterSpec aspec = apub.getParams(); + EllipticCurve acurve = aspec.getCurve(); + + //Matches the parameter spec + if (acurve.equals(crv)) { + return curve; + } } + + //Did not find a supported curve. + throw new NoSuchAlgorithmException("Curve not supported."); + } catch (GeneralSecurityException e) { + throw new IllegalStateException(e); } - - //Did not find a supported curve. - throw new NoSuchAlgorithmException("Curve not supported."); } /** diff --git a/azure-keyvault/src/main/java/com/microsoft/azure/keyvault/implementation/KeyVaultClientBaseImpl.java b/azure-keyvault/src/main/java/com/microsoft/azure/keyvault/implementation/KeyVaultClientBaseImpl.java index be341edd2b764..ac7b3b1ca2826 100644 --- a/azure-keyvault/src/main/java/com/microsoft/azure/keyvault/implementation/KeyVaultClientBaseImpl.java +++ b/azure-keyvault/src/main/java/com/microsoft/azure/keyvault/implementation/KeyVaultClientBaseImpl.java @@ -1680,9 +1680,9 @@ public Observable>> call(ServiceResponse> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param keyName The name of the key. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param keyName The name of the key. + * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<KeyItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -1919,8 +1919,8 @@ public Observable>> call(ServiceResponse> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<KeyItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -3012,8 +3012,8 @@ public Observable>> call(ServiceResponse> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<DeletedKeyItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -4111,8 +4111,8 @@ public Observable>> call(ServiceResponse> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified, the service will return up to 25 results. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param maxresults Maximum number of results to return in a page. If not specified, the service will return up to 25 results. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<SecretItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -4358,9 +4358,9 @@ public Observable>> call(ServiceResponse> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param secretName The name of the secret. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified, the service will return up to 25 results. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param secretName The name of the secret. + * @param maxresults Maximum number of results to return in a page. If not specified, the service will return up to 25 results. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<SecretItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -4597,8 +4597,8 @@ public Observable>> call(ServiceResponse * Lists deleted secrets for the specified vault. * The Get Deleted Secrets operation returns the secrets that have been deleted for a vault enabled for soft-delete. This operation requires the secrets/list permission. * - ServiceResponse> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<DeletedSecretItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -5278,9 +5278,9 @@ public Observable>> call(ServiceResponse

> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. - ServiceResponse> * @param includePending Specifies whether to include certificates which are not completely provisioned. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. + * @param includePending Specifies whether to include certificates which are not completely provisioned. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<CertificateItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -5853,8 +5853,8 @@ public Observable>> call(ServiceResp * List certificate issuers for a specified key vault. * The GetCertificateIssuers operation returns the set of certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission. * - ServiceResponse> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<CertificateIssuerItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -7102,9 +7102,9 @@ public Observable>> call(ServiceResponse

> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param certificateName The name of the certificate. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param certificateName The name of the certificate. + * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<CertificateItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -8477,9 +8477,9 @@ public Observable>> call(ServiceRes * Lists the deleted certificates in the specified vault currently available for recovery. * The GetDeletedCertificates operation retrieves the certificates in the current vault which are in a deleted state and ready for recovery or purging. This operation includes deletion-specific information. This operation requires the certificates/get/list permission. This operation can only be enabled on soft-delete enabled vaults. * - ServiceResponse> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. - ServiceResponse> * @param includePending Specifies whether to include certificates which are not completely provisioned. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. + * @param includePending Specifies whether to include certificates which are not completely provisioned. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<DeletedCertificateItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -8966,8 +8966,8 @@ public Observable>> call(ServiceRespons /** * List storage accounts managed by the specified key vault. This operation requires the storage/list permission. * - ServiceResponse> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<StorageAccountItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -9201,8 +9201,8 @@ public Observable>> call(Service * Lists deleted storage accounts for the specified vault. * The Get Deleted Storage Accounts operation returns the storage accounts that have been deleted for a vault enabled for soft-delete. This operation requires the storage/list permission. * - ServiceResponse> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<DeletedStorageAccountItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -10568,9 +10568,9 @@ public Observable>> call(ServiceResponse /** * List storage SAS definitions for the given storage account. This operation requires the storage/listsas permission. * - ServiceResponse> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param storageAccountName The name of the storage account. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<SasDefinitionItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -10819,9 +10819,9 @@ public Observable>> call(ServiceR * Lists deleted SAS definitions for the specified vault and storage account. * The Get Deleted Sas Definitions operation returns the SAS definitions that have been deleted for a vault enabled for soft-delete. This operation requires the storage/listsas permission. * - ServiceResponse> * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. - ServiceResponse> * @param storageAccountName The name of the storage account. - ServiceResponse> * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. + * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net. + * @param storageAccountName The name of the storage account. + * @param maxresults Maximum number of results to return in a page. If not specified the service will return up to 25 results. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<DeletedSasDefinitionItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -11770,7 +11770,7 @@ public Observable>> call(ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<KeyItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -11886,7 +11886,7 @@ public Observable>> call(ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<KeyItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -12002,7 +12002,7 @@ public Observable>> call(ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<DeletedKeyItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -12118,7 +12118,7 @@ public Observable>> call(ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<SecretItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -12234,7 +12234,7 @@ public Observable>> call(ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<SecretItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -12350,7 +12350,7 @@ public Observable>> call(ServiceResponse * Lists deleted secrets for the specified vault. * The Get Deleted Secrets operation returns the secrets that have been deleted for a vault enabled for soft-delete. This operation requires the secrets/list permission. * - ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<DeletedSecretItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -12466,7 +12466,7 @@ public Observable>> call(ServiceResponse

> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<CertificateItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -12582,7 +12582,7 @@ public Observable>> call(ServiceResp * List certificate issuers for a specified key vault. * The GetCertificateIssuers operation returns the set of certificate issuer resources in the specified key vault. This operation requires the certificates/manageissuers/getissuers permission. * - ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<CertificateIssuerItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -12698,7 +12698,7 @@ public Observable>> call(ServiceResponse

> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<CertificateItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -12814,7 +12814,7 @@ public Observable>> call(ServiceRes * Lists the deleted certificates in the specified vault currently available for recovery. * The GetDeletedCertificates operation retrieves the certificates in the current vault which are in a deleted state and ready for recovery or purging. This operation includes deletion-specific information. This operation requires the certificates/get/list permission. This operation can only be enabled on soft-delete enabled vaults. * - ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<DeletedCertificateItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -12925,7 +12925,7 @@ public Observable>> call(ServiceRespons /** * List storage accounts managed by the specified key vault. This operation requires the storage/list permission. * - ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<StorageAccountItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -13041,7 +13041,7 @@ public Observable>> call(Service * Lists deleted storage accounts for the specified vault. * The Get Deleted Storage Accounts operation returns the storage accounts that have been deleted for a vault enabled for soft-delete. This operation requires the storage/list permission. * - ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<DeletedStorageAccountItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -13152,7 +13152,7 @@ public Observable>> call(ServiceResponse /** * List storage SAS definitions for the given storage account. This operation requires the storage/listsas permission. * - ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<SasDefinitionItem> object wrapped in {@link ServiceResponse} if successful. */ @@ -13268,7 +13268,7 @@ public Observable>> call(ServiceR * Lists deleted SAS definitions for the specified vault and storage account. * The Get Deleted Sas Definitions operation returns the SAS definitions that have been deleted for a vault enabled for soft-delete. This operation requires the storage/listsas permission. * - ServiceResponse> * @param nextPageLink The NextLink from the previous successful call to List operation. + * @param nextPageLink The NextLink from the previous successful call to List operation. * @throws IllegalArgumentException thrown if parameters fail the validation * @return the PagedList<DeletedSasDefinitionItem> object wrapped in {@link ServiceResponse} if successful. */