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; }