Esempio n. 1
0
        public Response <VerifyResult> Verify(SignatureAlgorithm algorithm, byte[] digest, byte[] signature, CancellationToken cancellationToken = default)
        {
            var parameters = new KeyVerifyParameters
            {
                Algorithm = algorithm.GetName(),
                Digest    = digest,
                Signature = signature
            };

            using DiagnosticScope scope = Pipeline.CreateScope("Azure.Security.KeyVault.Keys.Cryptography.RemoteCryptographyClient.Verify");
            scope.AddAttribute("key", _keyId);
            scope.Start();

            try
            {
                return(Pipeline.SendRequest(RequestMethod.Post, parameters, () => new VerifyResult {
                    Algorithm = algorithm, KeyId = _keyId.ToString()
                }, cancellationToken, "/verify"));
            }
            catch (Exception e)
            {
                scope.Failed(e);
                throw;
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="algorithm"></param>
        /// <param name="digest"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public virtual Response <SignResult> Sign(SignatureAlgorithm algorithm, byte[] digest, CancellationToken cancellationToken = default)
        {
            var parameters = new KeySignParameters
            {
                Algorithm = algorithm.GetName(),
                Digest    = digest
            };

            return(SendRequest(SignOperation, parameters, () => new SignResult()
            {
                Algorithm = algorithm
            }, cancellationToken));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="algorithm"></param>
        /// <param name="digest"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public virtual async Task <Response <SignResult> > SignAsync(SignatureAlgorithm algorithm, byte[] digest, CancellationToken cancellationToken = default)
        {
            var parameters = new KeySignParameters
            {
                Algorithm = algorithm.GetName(),
                Digest    = digest
            };

            return(await SendRequestAsync(SignOperation, parameters, () => new SignResult()
            {
                Algorithm = algorithm
            }, cancellationToken).ConfigureAwait(false));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="algorithm"></param>
        /// <param name="digest"></param>
        /// <param name="signature"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public virtual Response <VerifyResult> Verify(SignatureAlgorithm algorithm, byte[] digest, byte[] signature, CancellationToken cancellationToken = default)
        {
            var parameters = new KeyVerifyParameters
            {
                Algorithm = algorithm.GetName(),
                Digest    = digest,
                Signature = signature
            };

            return(SendRequest(VerifyOperation, parameters, () => new VerifyResult()
            {
                Algorithm = algorithm, KeyId = KeyId.ToString()
            }, cancellationToken));
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="algorithm"></param>
        /// <param name="digest"></param>
        /// <param name="signature"></param>
        /// <param name="cancellationToken"></param>
        /// <returns></returns>
        public virtual async Task <Response <VerifyResult> > VerifyAsync(SignatureAlgorithm algorithm, byte[] digest, byte[] signature, CancellationToken cancellationToken = default)
        {
            var parameters = new KeyVerifyParameters
            {
                Algorithm = algorithm.GetName(),
                Digest    = digest,
                Signature = signature
            };

            return(await SendRequestAsync(VerifyOperation, parameters, () => new VerifyResult()
            {
                Algorithm = algorithm, KeyId = KeyId.ToString()
            }, cancellationToken).ConfigureAwait(false));
        }
Esempio n. 6
0
        public async Task <Response <SignResult> > SignAsync(SignatureAlgorithm algorithm, byte[] digest, CancellationToken cancellationToken = default)
        {
            var parameters = new KeySignParameters
            {
                Algorithm = algorithm.GetName(),
                Digest    = digest
            };

            using DiagnosticScope scope = Pipeline.CreateScope("Azure.Security.KeyVault.Keys.Cryptography.RemoteCryptographyClient.Sign");
            scope.AddAttribute("key", _keyId);
            scope.Start();

            try
            {
                return(await Pipeline.SendRequestAsync(RequestMethod.Post, parameters, () => new SignResult { Algorithm = algorithm }, cancellationToken, "/sign").ConfigureAwait(false));
            }
            catch (Exception e)
            {
                scope.Failed(e);
                throw;
            }
        }