Пример #1
0
        public async Task <byte[]> VerifyNodeAsync(byte[] sequence, byte[] encrytedKey, byte[] userPublicKey)
        {
            if (!await TryConnectAsync().ConfigureAwait(false))
            {
                throw new LicensorException("Unable to establish connection with licensor.");
            }
            VerifyNodeRequest request = new VerifyNodeRequest(sequence, userPublicKey, encrytedKey);

            await SendRequestAsync(request).ConfigureAwait(false);

            var response = await GetResponseAsync(request).ConfigureAwait(false);

            if (response is VerificationResponse verificationResponse)
            {
                return(verificationResponse.EncryptedSequence);
            }
            else if (response is ResultResponse resultResponse)
            {
                throw new ResponseException($"Failed to verify node. Response error message: {resultResponse.ErrorMessage}");
            }
            else
            {
                throw new ResponseException($"Invalid response. {response.ResponseType}");
            }
        }
 public VerifyNodeRequestHandler(Request request)
 {
     this.request = (VerifyNodeRequest)request;
 }