简体   繁体   中英

Multiple users accessing certificate file at a time

This is kind of not a question, but need a clarification. Here is the code. All this code is doing is sending sending a cer file to server in httpwebrequest which is placed on a local drive. My question is, what happens if multiple users try to access the application at a time. I mean 5-10 requests reading the same cer at a time. will it break saying that the cer file is locked by some other thread to read/or will it not break because it's just read only?

//You must change the path to point to your .cer file location. 
X509Certificate Cert = X509Certificate.CreateFromCertFile("C:\\mycert.cer");
// Handle any certificate errors on the certificate from the server.
ServicePointManager.CertificatePolicy = new CertPolicy();
// You must change the URL to point to your Web server.
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("https://YourServer/sample.asp");
Request.ClientCertificates.Add(Cert);
Request.UserAgent = "Client Cert Sample";
Request.Method = "GET";
HttpWebResponse Response = (HttpWebResponse)Request.GetResponse();
// Print the repsonse headers.
Console.WriteLine("{0}",Response.Headers);
Console.WriteLine();
// Get the certificate data.
StreamReader sr = new StreamReader(Response.GetResponseStream(), Encoding.Default);
int count;
char [] ReadBuf = new char[1024];
do
{
    count = sr.Read(ReadBuf, 0, 1024);
    if (0 != count)
    {
        Console.WriteLine(new string(ReadBuf));
    }

}while(count > 0);

读取操作不会在Windows中锁定文件。

Why not send the certificate from the user store instead of file and eliminate the concern, as in the second method described in How to send a client certificate by using the HttpWebRequest . You need to load the private key into the key store anyway, so I really don't see any point in using the certificate from a .cer file.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM