zoukankan      html  css  js  c++  java
  • 使用证书创建request请求

    之前写过的程序,都是普通http request。

    这是第一次使用,记录下。

     1 private static X509Certificate2 GetCert(string certId,StoreLocation location)
     2 {
     3        X509Certificate2 result = null;
     4        X509Store certStore;
     5        certStore = new X509Store(StoreName.My, location);
     6        certStore.Open(OpenFlags.OpenExistingOnly | OpenFlags.ReadOnly);
     7 
     8        try
     9        {
    10             X509Certificate2Collection set = certStore.Certificates.Find(
    11             X509FindType.FindByThumbprint, certId, true);
    12 
    13             if (set.Count > 0 && set[0] != null && set[0].HasPrivateKey)
    14             {
    15                   result = set[0];
    16             }
    17             }
    18          finally
    19         {
    20              certStore.Close();
    21         }
    22 
    23         return result;
    24  }

    说明:

    命名空间:

    using System.Security.Cryptography.X509Certificates;

    certID:

    证书含有一个指纹(thumbprint),就是certId。在证书的detail中可以查看,注意他们之间的空格,很容易copy错误;

    Location:

    两个类别:

    CurrentUser,LocalMachine。命令行mmc然后找到证书管理。

    调用:

    req = WebRequest.CreateHttp(url);

    // add in the cert we'll authenticate with
    req.ClientCertificates.Add(GetCert(thumbprint,StoreLocation.CurrentUser));

    这样就创建了一个需要证书的请求。

  • 相关阅读:
    BCP 命令
    模板复习【updating】
    bzoj3716/4251 [PA2014]Muzeum
    bzoj4318 OSU!
    uoj308 【UNR #2】UOJ拯救计划
    bzoj4695 最假女选手
    省队集训 Day7 选点游戏
    hdu5828 Rikka with Sequence
    bzoj2482 [Spoj1557] Can you answer these queries II
    省队集训 Day6 序列
  • 原文地址:https://www.cnblogs.com/shy-huang/p/6737517.html
Copyright © 2011-2022 走看看