代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
CSharp
】
解析数字签名的Substring结构
作者:
lucienbao
/ 发布于
2015/10/13
/
1448
解析的结构和代码: X509CertificateSubstring #region 文件描述 // 描述:数字签名的Substring结构类 // 作者:鲍昊晟 // 时间:2012-7-2 #endregion #region 类修改记录 : 每次修改一组描述 // 修改描述: // 修 改 人: // 修改时间: #endregion using System; using System.Security.Cryptography.X509Certificates; namespace DTLEntAdministration.Common { /// <summary> /// 数字签名的Substring结构 /// </summary> public class X509CertificateSubstring { //CN=Shenzhen DriveTheLife Software Technology Co.Ltd, OU=Digital ID Class 3 - Microsoft Software Validation v2, O=Shenzhen DriveTheLife Software Technology Co.Ltd, L=Shenzhen, S=Guangdong, C=CN #region 私有字段 private string _CN = string.Empty; private string _OU = string.Empty; private string _O = string.Empty; private string _L = string.Empty; private string _S = string.Empty; private string _C = string.Empty; #endregion #region 公共只读属性 public string CN { get { return _CN; } } public string OU { get { return _OU; } } public string O { get { return _O; } } public string L { get { return _L; } } public string S { get { return _S; } } public string C { get { return _C; } } #endregion public X509CertificateSubstring() { } /// <summary> /// 将Substring字符串解析成结构体 /// </summary> /// <param name="substring">Substring字符串</param> /// <returns>X509CertificateSubstring</returns> public static X509CertificateSubstring Parse(string substring) { X509CertificateSubstring xcs = new X509CertificateSubstring(); string[] items = substring.Split(','); foreach (var item in items) { if (item.Trim().StartsWith("CN=")) { xcs._CN = item.Trim().Substring(3); continue; } if (item.Trim().StartsWith("OU=")) { xcs._OU = item.Trim().Substring(3); continue; } if (item.Trim().StartsWith("O=")) { xcs._O = item.Trim().Substring(2); continue; } if (item.Trim().StartsWith("L=")) { xcs._L = item.Trim().Substring(2); continue; } if (item.Trim().StartsWith("S=")) { xcs._S = item.Trim().Substring(2); continue; } if (item.Trim().StartsWith("C=")) { xcs._C = item.Trim().Substring(2); continue; } } return xcs; } /// <summary> /// 将Substring字符串解析成结构体,并返回数字签名存在与否 /// </summary> /// <param name="pyFile">读取数字签名的文件的物理路径</param> /// <param name="xcs">X509CertificateSubstring</param> /// <returns>bool</returns> public static bool TryParse(string pyFile, out X509CertificateSubstring xcs) { bool result = true; xcs = new X509CertificateSubstring(); string SubstringCN = string.Empty; X509Certificate cert = null; try { cert = X509Certificate2.CreateFromSignedFile(pyFile); } catch (System.Security.Cryptography.CryptographicException ce) { //没有数字签名,忽略此异常. result = false; } catch (Exception ex) { result = false; throw ex; } if (cert != null) { xcs = X509CertificateSubstring.Parse(cert.Subject); } return result; } } } 调用的示例代码: 获取数字签名的名称 /// <summary> /// 获取数字签名的名称 /// </summary> /// <param name="pyFile">读取数字签名的文件的物理路径</param> /// <returns>数字签名,如果没有数字签名则返回空字符串</returns> public static string GetX509CertificateSubstringCN(string pyFile) { string SubstringCN = string.Empty; X509CertificateSubstring xcs; if (X509CertificateSubstring.TryParse(pyFile, out xcs)) { SubstringCN = xcs.CN; } return SubstringCN; }
试试其它关键字
数字签名
Substring
同语言下
.
文件IO 操作类库
.
Check图片类型[JPEG(.jpg 、.jpeg),TIF,GIF,BMP,PNG,P
.
机器名和IP取得(IPV4 IPV6)
.
Tiff转换Bitmap
.
linqHelper
.
MadieHelper.cs
.
RegHelper.cs
.
如果关闭一个窗体后激活另一个窗体的事件或方法
.
创建日志通用类
.
串口辅助开发类
可能有用的
.
实现测量程序运行时间及cpu使用时间
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
lucienbao
贡献的其它代码
(
11
)
.
回调函数
.
实现单用户登录
.
有规律的随机数
.
防止频繁点击按钮
.
共享状态的文件读写
.
递归访问文件夹
.
字符长度
.
解析数字签名的Substring结构
.
ie版本过低提示升级ie的示例
.
自动输出类的字段及值
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3