Search in sources :

Example 1 with KeyVerifyParameters

use of com.microsoft.azure.keyvault.models.KeyVerifyParameters in project azure-sdk-for-java by Azure.

the class KeyVaultClientImpl method verifyWithServiceResponseAsync.

/**
     * Verifies a signature using a specified key.
     *
     * @param vaultBaseUrl The vault name, for example https://myvault.vault.azure.net.
     * @param keyName The name of the key.
     * @param keyVersion The version of the key.
     * @param algorithm The signing/verification algorithm. For more information on possible algorithm types, see JsonWebKeySignatureAlgorithm. Possible values include: 'RS256', 'RS384', 'RS512', 'RSNULL'
     * @param digest The digest used for signing.
     * @param signature The signature to be verified.
     * @return the observable to the KeyVerifyResult object
     */
public Observable<ServiceResponse<KeyVerifyResult>> verifyWithServiceResponseAsync(String vaultBaseUrl, String keyName, String keyVersion, JsonWebKeySignatureAlgorithm algorithm, byte[] digest, byte[] signature) {
    if (vaultBaseUrl == null) {
        throw new IllegalArgumentException("Parameter vaultBaseUrl is required and cannot be null.");
    }
    if (keyName == null) {
        throw new IllegalArgumentException("Parameter keyName is required and cannot be null.");
    }
    if (keyVersion == null) {
        throw new IllegalArgumentException("Parameter keyVersion is required and cannot be null.");
    }
    if (this.apiVersion() == null) {
        throw new IllegalArgumentException("Parameter this.apiVersion() is required and cannot be null.");
    }
    if (algorithm == null) {
        throw new IllegalArgumentException("Parameter algorithm is required and cannot be null.");
    }
    if (digest == null) {
        throw new IllegalArgumentException("Parameter digest is required and cannot be null.");
    }
    if (signature == null) {
        throw new IllegalArgumentException("Parameter signature is required and cannot be null.");
    }
    KeyVerifyParameters parameters = new KeyVerifyParameters();
    parameters.withAlgorithm(algorithm);
    parameters.withDigest(digest);
    parameters.withSignature(signature);
    String parameterizedHost = Joiner.on(", ").join("{vaultBaseUrl}", vaultBaseUrl);
    return service.verify(keyName, keyVersion, this.apiVersion(), this.acceptLanguage(), parameters, parameterizedHost, this.userAgent()).flatMap(new Func1<Response<ResponseBody>, Observable<ServiceResponse<KeyVerifyResult>>>() {

        @Override
        public Observable<ServiceResponse<KeyVerifyResult>> call(Response<ResponseBody> response) {
            try {
                ServiceResponse<KeyVerifyResult> clientResponse = verifyDelegate(response);
                return Observable.just(clientResponse);
            } catch (Throwable t) {
                return Observable.error(t);
            }
        }
    });
}
Also used : Response(retrofit2.Response) ServiceResponse(com.microsoft.rest.ServiceResponse) ServiceResponse(com.microsoft.rest.ServiceResponse) KeyVerifyResult(com.microsoft.azure.keyvault.models.KeyVerifyResult) KeyVerifyParameters(com.microsoft.azure.keyvault.models.KeyVerifyParameters) Observable(rx.Observable) ResponseBody(okhttp3.ResponseBody)

Aggregations

KeyVerifyParameters (com.microsoft.azure.keyvault.models.KeyVerifyParameters)1 KeyVerifyResult (com.microsoft.azure.keyvault.models.KeyVerifyResult)1 ServiceResponse (com.microsoft.rest.ServiceResponse)1 ResponseBody (okhttp3.ResponseBody)1 Response (retrofit2.Response)1 Observable (rx.Observable)1