zoukankan      html  css  js  c++  java
  • 解析公钥

    using System;
    using System.Collections;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.HtmlControls;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Xml.Linq;

    using System.Security.Cryptography.X509Certificates;
    using System.Security.Cryptography;
    using System.Text;
    using System.Collections.Generic;
    using System.IO;

    namespace WebApp
    {
        public partial class ResolveCertContent : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {

            }

            protected void Button1_Click(object sender, EventArgs e)
            {
                //解析公钥
                byte[] bytes = Encoding.Default.GetBytes(this.TextBox1.Text.Trim());
                X509Certificate x509 = new X509Certificate(bytes);

                StringBuilder strBuilder = new StringBuilder();


                strBuilder.Append(" 序 列 号:" + x509.GetSerialNumberString());

                string[] issuer1 = x509.Issuer.Split(new string[] { "CN=", ", O" }, StringSplitOptions.RemoveEmptyEntries);
                string[] issuer2 = x509.Issuer.Split(new string[] { ", O=", ", C=" }, StringSplitOptions.RemoveEmptyEntries);
                string[] issuer3 = x509.Issuer.Split(new string[] { ", C=" }, StringSplitOptions.RemoveEmptyEntries);
                strBuilder.Append(" 证书类别:" + issuer1[0]);
                strBuilder.Append(" 颁发机构:" + issuer2[1]);
                strBuilder.Append(" 国    家:" + issuer3[1]);


                string[] subject1 = x509.Subject.Split(new string[] { "L=", ", S=" }, StringSplitOptions.RemoveEmptyEntries);
                string[] subject2 = x509.Subject.Split(new string[] { ", S=", ", C=" }, StringSplitOptions.RemoveEmptyEntries);
                string[] subject3 = x509.Subject.Split(new string[] { ", C=", ", O=" }, StringSplitOptions.RemoveEmptyEntries);
                string[] subject4 = x509.Subject.Split(new string[] { ", O=", ", CN=" }, StringSplitOptions.RemoveEmptyEntries);
                string[] subject5 = x509.Subject.Split(new string[] { ", CN=" }, StringSplitOptions.RemoveEmptyEntries);
                strBuilder.Append(" 所在城市:" + subject1[0]);
                strBuilder.Append(" 所在省份:" + subject2[1]);
                strBuilder.Append(" 所在国家:" + subject3[1]);
                strBuilder.Append(" 名    称:" + subject4[1]);
                strBuilder.Append(" 主    题:" + subject5[1]);

                strBuilder.Append(" 有效日期:" + x509.GetEffectiveDateString() + "-" + x509.GetExpirationDateString());

                this.TextBox2.Text = strBuilder.ToString();
            }

            protected void Button2_Click(object sender, EventArgs e)
            {
                string strFileUrl = Server.MapPath("/temp/code-3.crl");

                FileStream stream = new FileInfo(strFileUrl).OpenRead();
                byte[] buffer = new byte[stream.Length];
                stream.Read(buffer, 0, Convert.ToInt32(stream.Length));

                Mono.Security.X509.X509Crl crl = new Mono.Security.X509.X509Crl(buffer);
                for (int i = 0; i < crl.Entries.Count; i++)
                {
                    try
                    {
                        byte[] serialByte = crl[i].SerialNumber;
                        this.TextBox2.Text += "吊销序列号:"+this.ToHexString(serialByte)+" ";
                        continue;
                    }
                    catch (Exception)
                    {
                    }
                   
                }

               
            }

            public  string ToHexString(byte[] bytes) // 0xae00cf => "AE00CF "
            {
                string hexString = string.Empty;
                if (bytes != null)
                {
                    StringBuilder strB = new StringBuilder();

                    for (int i = 0; i < bytes.Length; i++)
                    {
                        strB.Append(bytes[i].ToString("X2"));
                    }
                    hexString = strB.ToString();
                }
                return hexString;
            }
        }
    }

  • 相关阅读:
    在WIN10下搭建Robot Framework环境
    Robot Framework导入selenium2library库不成功的解决方法
    git命令大全
    Axure RP 8过期,用户名和序列号(注册码)
    MySQL用命令行快速导出数据备份
    JMeter—正则表达式提取器
    用JMeter进行接口测试
    d3-project
    bower 问题
    andriod studio
  • 原文地址:https://www.cnblogs.com/binbinxiong/p/3309180.html
Copyright © 2011-2022 走看看