zoukankan      html  css  js  c++  java
  • 如何查找某个特定证书

    这是昨天课堂上的一个例子。

    image

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Reflection;
    using System.Threading;
    using System.Security.Cryptography.X509Certificates;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                //查找特定证书
                X509Store store = new X509Store(StoreLocation.CurrentUser);
                store.Open(OpenFlags.ReadOnly);
    
    
                string serialNumber = "b101720bccd997a14e64ff649571e20e".ToUpper();
    
                //1.第一种查找:遍历
                X509Certificate2 cert = null;
                foreach (var item in store.Certificates)
                {
                    if (item.SerialNumber == serialNumber)
                    {
                        cert = item; 
                        break;
                    }
                }
                if (cert != null)
                    Console.WriteLine(cert.Subject);
    
    
                //2.第二种查找: 利用Find方法
                X509Certificate2 cert1 = null;
                var found = store.Certificates.Find(X509FindType.FindBySerialNumber, serialNumber, false);
                if (found != null && found.Count>0)
                {
                    cert1 = found[0];
                    Console.WriteLine(cert1.Subject);
                }
     
                             
                             
    
    
                store.Close();
                
                
    
                
    
                Console.Read();
            }
    
    
        }
    
      
    }
    
  • 相关阅读:
    性能优化汇总
    数组迭代,对象迭代
    数据类型转换
    Vue v-model原理解析
    闭包机制及浏览器垃圾回收处理
    面试题解析
    作用域链查找机制,浏览器的垃圾回收机制
    函数的创建与执行,执行函数
    Mybatis底层源码执行流程
    简单易懂的TCP三次握手及四次挥手
  • 原文地址:https://www.cnblogs.com/chenxizhang/p/1691102.html
Copyright © 2011-2022 走看看