示例#1
0
		public async Task<HttpResponseMessage> SendDataBackToServer(string signedData) {
			SaveDataToDisk(signedData);
			Uri startupUri = new Uri(Session.StartupArg);

			HttpClient client = new HttpClient() {
				Timeout = new TimeSpan(0, 0, 0, 60)
			};

			UriBuilder serverUri = new UriBuilder(_serverUri) {
				Query = $"oper=signed&{startupUri.PathAndQuery}"
			};
			
			HttpContent content = new StringContent(SignedRequestBuilder.GetSignedDataRequest(Session.SessionId, signedData, _interopCertificateThumbprint,_interopCertificateStoreLocation));
			content.Headers.ContentType = new MediaTypeHeaderValue("text/xml");

			return await client.PostAsync(serverUri.Uri,content);
		}
示例#2
0
		public async Task<HttpResponseMessage> GetServerSessionData(string startupArg) {

			//startupArg is like : unisign:session_id=12345-45-54545-12
			Uri startupUri = new Uri(startupArg);
			
			HttpClient client = new HttpClient() {
				Timeout = new TimeSpan(0,0,0,60) // 60 seconds
			};
			
			UriBuilder serverUri = new UriBuilder(_serverUri) {
				Query = $"oper=getfile&{startupUri.PathAndQuery}"
			};
			string sessionId = startupArg.Split('=')?[1];

			HttpContent content = new StringContent(SignedRequestBuilder.GetSessionRequest(sessionId,_interopCertificateThumbprint,_interopCertificateStoreLocation));
			content.Headers.ContentType = new MediaTypeHeaderValue("text/xml");
			
			return await client.PostAsync(serverUri.Uri,content);
		}