C# HTTP请求中的热使用证书票证

C# HTTP请求中的热使用证书票证,c#,http,C#,Http,我通过HTTP从站点以windows服务的形式实现自动文件下载。要访问该文件,必须使用证书和数字签名密钥登录。在开发者工具(F12)的浏览器中,我看到它向Post reuestticket发送了某种授权 {“票证”,“7965FE11DCECA20296D734740CF3338D4A81D87203A47DFFACF311E1506658AED6F81DC8457A2EDD2BDFE539CBD766E7FC060E3B980FAF8F68BDE0986F1620E27C190F661E580

我通过
HTTP
从站点以windows服务的形式实现自动文件下载。要访问该文件,必须使用证书和数字签名密钥登录。在开发者工具(
F12
)的浏览器中,我看到它向Post reuest
ticket
发送了某种授权

{“票证”,“7965FE11DCECA20296D734740CF3338D4A81D87203A47DFFACF311E1506658AED6F81DC8457A2EDD2BDFE539CBD766E7FC060E3B980FAF8F68BDE0986F1620E27C190F661E580729DB8155E91304F834408E75CC1A71F796D99F28451353A245C1AD051CE5AE74DDEDD530225177289FFD8CD51739CEC4F04EF330A” }

在每次授权期间,票据都是新的。我从开发者工具(浏览器中的
F12
)中再次看到了这一点

如果我在
HttpClient
中将其替换到我的程序中,那么一切都可以正常工作。但是重新启动后,带有此票证的请求不再通过。 此票证是如何形成的?我想自动生成此票证并将其替换到请求中。现在我开药方很难。我自己有数字签名密钥

我正在尝试访问该站点() 然后会出现一个窗口,其中包含证书选择。我选择需要的证书并返回 响应头中 <代码>位置https://br.so-ups.ru/Signin?redirect=#A807FED2F62B8EF4FE61371EF4F52F2603E1ADC375629473601F132B08835321173C49096CECC161A95B5F9F55DBD7F1665750444C02246CFB3C49A970409608799CF4950159BA86FDF77E8C11C4185B3A7F40C72AA0B522851BE07F41FD4A238983F4768E550F42C528F6B6F2F1E76D2A431B071F5B00496668F37979AF4761 这显然是来自服务器的网络令牌。但是我不能绑定证书 我的代码

但我有一个错误

System.Net.Http.HttpRequestException: Произошла ошибка при отправке запроса. ---> System.Net.WebException: Базовое соединение закрыто: Непредвиденная ошибка при передаче. ---> System.IO.IOException: Не удается прочитать данные из транспортного соединения: Удаленный хост принудительно разорвал существующее подключение. ---> System.Net.Sockets.SocketException: Удаленный хост принудительно разорвал существующее подключение
   в System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
   в System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)
   --- Конец трассировки внутреннего стека исключений ---
   в System.Net.TlsStream.EndWrite(IAsyncResult asyncResult)
   в System.Net.PooledStream.EndWrite(IAsyncResult asyncResult)
   в System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar)
   --- Конец трассировки внутреннего стека исключений ---
   в System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   в System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
   --- Конец трассировки внутреннего стека исключений 
   в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

   в System.Runtime.CompilerServices.TaskAwaiter
我是否需要以某种方式连接根证书


对不起,我的电子英语

没有关于如何构建tickt的一般规则(它看起来不像我所知道的任何标准化的东西)。“它可以在以前的请求中从服务器检索,由JavaScript代码或两者的组合计算。”Robert补充道
System.Net.Http.HttpRequestException: Произошла ошибка при отправке запроса. ---> System.Net.WebException: Базовое соединение закрыто: Непредвиденная ошибка при передаче. ---> System.IO.IOException: Не удается прочитать данные из транспортного соединения: Удаленный хост принудительно разорвал существующее подключение. ---> System.Net.Sockets.SocketException: Удаленный хост принудительно разорвал существующее подключение
   в System.Net.Sockets.Socket.EndReceive(IAsyncResult asyncResult)
   в System.Net.Sockets.NetworkStream.EndRead(IAsyncResult asyncResult)
   --- Конец трассировки внутреннего стека исключений ---
   в System.Net.TlsStream.EndWrite(IAsyncResult asyncResult)
   в System.Net.PooledStream.EndWrite(IAsyncResult asyncResult)
   в System.Net.ConnectStream.WriteHeadersCallback(IAsyncResult ar)
   --- Конец трассировки внутреннего стека исключений ---
   в System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)
   в System.Net.Http.HttpClientHandler.GetResponseCallback(IAsyncResult ar)
   --- Конец трассировки внутреннего стека исключений 
   в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)

   в System.Runtime.CompilerServices.TaskAwaiter