如何获取数字证书中的"颁发机构密钥标标识符"

dengzhiting 2008-01-14 05:45:34
如题:如何获取数字证书中的"颁发机构密钥标标识符"
...全文
773 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
kowilder 2008-03-21
  • 打赏
  • 举报
回复
我现在也只能获得[主体密钥标识符][和微缩图]的信息,其实在X509Certificate2.RawData的证书原始数据中可以找到,
是非加密的,还有但是我不熟悉X.509的具体格式,不知道如何提取,望老手指点一下.
dengzhiting 2008-01-14
  • 打赏
  • 举报
回复
多谢关注,我的意思是想通过程序来识别数字证书是指定的颁发机构所颁发的数字证书,所以想通过数字证书中的"颁发机构密钥标标识符"(如:KeyID=4d fa 3b 71 89 f7 c3 4e 15 36 e8 9a 45 0b 29 7c d1 cc 9f 50)来进行识别,但通过.net只能读出"issue"的文字信息,不知有什么方法能读出"KeyID"的信息!
illusky 2008-01-14
  • 打赏
  • 举报
回复

using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;

protected void Page_Load(object sender, EventArgs e)
{
X509Store store = new X509Store(StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly);

X509Certificate2Collection certCollection = store.Certificates;

foreach (X509Certificate2 c in certCollection)
{
RSACryptoServiceProvider privatekey = (RSACryptoServiceProvider)c.PrivateKey;
}
}
c11_11_11 2008-01-14
  • 打赏
  • 举报
回复
关注
GMT 0009-2012 SM2 密码算法使用规范,详细描述SM2算法使用规范 GM/T0010-2012 目次 前言 1范围…… 2规范性引用文件…………… 3术语和定义 ·· 4符号和缩略语… 5OID定义… 6基入类型定义…………………… 6.1 Certilicate revocationlists 6.2 Content Encryption AlgorithmIdentifier………………………………………… 6.3 Digest algorithmldentifie 6.4 Digest Encryption algorithmIdentifier…………………… 6.5 Extended certificate OrCertificate 6,6 Extended certificatesAnd certificates……………………… 6,7 Issuer AndserialNumber……………… 6.8 KeyEncryptionAlgorithmldentilier 6,9 Version………………………………………………………………………………… 6.10 Contentinfo 7数据类型data 8签名数据类型 signedData…………… 8.1 signedData类型 8.2 SignerInfo类型…… 9数字信封数据类型 envelopeddata… 9.1 envelopedData类型 9,2 RecipientInfo类型……… 10签名及数字信封数据类型 signed And EnvelopedData……… 11加密数据类型 encryptedData 12密钥协商类型 key AgreementInfo 附录A(规范性附录)SM2密钥格式 A.1椭圆曲线参数语法… A.2公钥语法 A.3私钥语法 参考文献…………………………… GM/T0010-2012 前言 本准按照GB/T1.12009的规则编写 请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任 本准由国家密码管理局提出并归口 本的附录A为规范性附录。 木准起草单位:上海格尔软件股份有限公司、北京海泰方圆科技有限公司、北京数字认证股份有 限公司、无锡江南信息安全工程技术心、成都卫士通信息产业股份有限公司、上海巾数字证书认证 心有限公司、兴唐通信科技有限公司、上海颐东网络信息有限公司、山东得安信息技术有限公司、国家信 息安全工程技术研究心。 本准起草人:刘平、谭武征、柳増寿、李述胜、徐强、李元正、刘承、王妮娜、夏东山、蒋红宇、孔凡玉 袁峰。 本准涉及的密码算法按照国家密码管理部门的要求使用 Ⅱ GM/T0010—2012 SM2密码算法加密签名消息语法规范 1范 本规范定义了使用SM2密码算法的加密签名消息语法。 本规范适用于使用SM2密码算法进行加密和签名操作时对操作结果的准化封装。 2规范性引用文件 下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仪注日期的版本适用于本文 件,凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。 GM/T0006密码应用识规范 GM/ T AAAA SV2密码算法使用规范 PKCS #5 Extended-Certificate Syntax 3术语和定义 下列术语适用于本规范。 算法识 algorithm identifier 用于明算法机制的数字化信息 SM2算法SM2 algorithM 一种椭圆曲线密杩算法,密钥长度为256比特。 4符号和缩略语 下列缩略语适用于本规范 ECC 椭圆曲线密码算法( Elliptic Curve cryptography) 用户识( Identity) OID 对象识符( Object Identity) 5OID定义 本规范对6个对象data, signeddata, envelopedData, signedAnd Data, encryptedData和 key AgreementInfo的识符进行了定义,详见表1 GM/T0010-2012 表1对象识符 对象识符OID 对象识符定义 1.2,156.10197.6.1.4.2 SM2密码算法加密签名消息语法规范 1.2.156.10197.6.1.4.2.1 数据类型data 1.2.156.10197.6.1.4.2.2 签名数据类型 signedData 1.2,156,10197.6.1.4.2,3 数字信封数据类型 enveloped Data 签名及数字信封数据类型 1.2.156.1C197.6.1.4.2.4 signedAndEnvelopedData 1.2,156,10197.6.1.4.2.5 加密数据类型 encryptedData 1.2,156,10197.6.1.4.2,6 密钥协商类型 key AgreementInfo 6基本类型定义 6.1 Certificate Revocation lists Certificaterevocationlists类型明一个证书撤销列表的集合。 Certificatereyocationlists;:= SET OF Certificaterevocation list 6. 2 ContentEncryptionAlgorithmldentificr Content Encryptionalgorithmldentifier类型明一个数据加密算法。其OI见GM/T0006 Content Encryption AlgorithmIdentifier :: AlgorithmIdentifier 6.3 DigestAlgorithm ldentifier DigestAlgorithmIdentifier类型明一个消息摘要算法,夲规范为SM3算法,其OID见GM/ T0006。 DigestAlgorithmIdentifier : AlgorithmIdentifier 6. 4 DigestEncryptionAlgorithmIdentifier Digest Encryption algorithmIdentifier类型明一个签名算法,本规范为SM2密码算法,其OI见 GM/T OOO Digest EncryptionAlgorithmIdentifier AlgorithmIdentifier 6.5 ExtendedcertificateorCertificate ExtendedcertificateOrCertificate类型指定一个PKCS#6扩展证书或者一个X.509证书。这一类 型见PKCS=6第6节推荐的语法 ExtendedCertificate OrCertificate ::=CHOICE I certificate Certificate.--.509 extendedCertificate [o IMPLICIT Extended Certificate GM/T0010—2012 6.6 ExtendedCertificates And Certificates ExtendedcertificatesAndcertificates类型指定一个扩展证书和X.509证书的集合。它表示集合足 以包含从可识别的“根”或“顶级CA”到所有签名者的证书链。 ExtendedcertificatesandCertificates : SET OF Extendedcertificate orcertificate 6. Issuer AndSeriaINumber Issuer And SerialNumber类型明一个证书颁发者可识别名和颁发者确定的证书序列号,可据此 确定一份证书和与此证书对应的实体及公钥。 IssuerAndSerialNumber SEQUENCE issuer name serialNumber certificate SerialNumber 6.8 Kcy EncryptionAlgorithmldentificr KeyEncryptionAlgorithmIdentifier类型明加密对称密钥的加密算法。 Key encryptionalgorith mldentilier :: Algorithmlden 6.9ⅴ ersion Version类型明语法版本号。 Version :: INTEGER(1 6. 10 ContentInfo ContentInfo类型眀内容交换通用语法结构,内容交换的通用语法结构定义如下」 ContentInfo :: SEQUENCE contentType Content type contentO] EXPLICIT ANY DEFINED BY content Type OPTIONAL ContentType OBJECT IDEN TⅠFIER 其 ContentType内容类型是一个对象识符,其定义见本规范第5章。 content内容,可选。 7数据类型data data数据类型结构定义如下: Data .. OCTET STRING Data数据类型表示任意的字节串,比如ASCI文本文件。 GM/T0010—2012 8签名数据类型 signed Data 8.1 signed Data类型 signeddata数据类型由任意类型的数据和至少一个签名者的签名值组成。任意类型的数据能够同 时被任意数量的签名者签名。 signeddata数据类型结构定义如下 SignedData ::= SEQUENCE versionⅤ ersion, digest algorithms digest algorithmIc entities. contentInfo sm2signature certificates o IMPLICIT ExtendedCertificates And Certificates OPTIONAL crls[ 1] IMPLICIT Certificate Revocation Lists OPTIONAI Signerinlos Signerinlos Digestalgorithm Identifiers : SET OF Digest AlgorithmIdentifier SignerInfos::= SET OF SignerInfo 结构各项含义见表2 表2 signedData数据类型 字段名称 数据类型 含义 version (1) V ersion 语法的版木号 digestAlgorithms DigestAlgorithmIdentifiers 消息摘要算法识符的集合 contention SM2Signaturc 被名的数据内谷,数据类型见GM/ T AAAA ExtendedCertificatesAndcertif certifica PKCS#6扩展证书和X.509证书的集合 Icates CrIs Certificate Revocation lists 证书撤销列表的集合 signIngs SignerInfos 每个签名者信息的集合 8.2 Signerlnfo类型 gnerInfo类型结构定义如下: SignerInfo :: SEQUENCE version version issuer And SerialNumber IssuerAndSerial Number digest Algorithm DigestAlgorithmldentifier authenticated AttributesLO] IMPLICIT Attributes OPTIONAL digest Encryption Algorithm Digest EncryptionAlgorithmIdentifier
签名工具 (SignTool.exe) 签名工具是一个命令行工具,用于对文件进行数字签名,验证文件或时间戳文件的签名。 注意 Microsoft Windows NT、Windows Me、Windows 98 或 Windows 95 不支持签名工具。 signtool [command] [options] [file_name | ...] 参数 参数 说明 command 命令志之一,用于指定要对文件执行的操作。 options 用于修改命令志的选项志之一。 file_name 要进行签名的文件的路径。 签名工具支持下列命令。 命令 说明 catdb 在目录数据库添加或移除目录文件。 sign 对文件进行数字签名。 signwizard 启动签名向导。只能为文件名命令行参数指定一个文件。 timestamp 时间戳文件。 verify 验证文件的数字签名。 下列选项应用于 catdb命令。 Catdb 选项 说明 /d 指定更新默认目录数据库。如果 /d和 /g 选项都未使用,则签名工具更新系统组件和驱动程序数据库。 /g GUID 指定更新由全局唯一识符 (GUID) 识的目录数据库。 /r 从目录数据库移除指定的目录。如果未指定该选项,签名工具将向目录数据库添加指定的目录。 /u 指定为添加的目录文件自动生成唯一的名称。如有必要,将重命名目录文件,以避免与现有的目录文件发生冲突。如果未指定该选项,签名工具将重写与所添加的目录同名的任何现有目录。 注意 目录数据库用于自动查找目录文件。 下列选项适用于sign命令。 Sign 选项 说明 /a 自动选择最佳的签名证书。如果未指定该选项,签名工具仅查找一个有效的签名证书。 /c CertTemplateName 指定用于对证书进行签名的证书模板名(一个 Microsoft 扩展)。 /csp CSPName 指定包含私钥容器的加密服务提供程序 (CSP)。 /d Desc 指定已签名内容的说明。 /du URL 指定已签名内容的更详细说明的统一资源定位器 (URL)。 /f SignCertFile 指定文件的签名证书。如果文件是个人信息交换 (PFX) 格式且受密码保护,则使用 /p 选项来指定密码。如果文件不包含私钥,则使用 /csp 和 /k 选项来分别指定 CSP 和私钥容器名。 /i IssuerName 指定签名证书的颁发者的名称。该值可以是整个颁发者名称的子字符串。 /k PrivKeyContainerName 指定私钥容器名。 /n SubjectName 指定签名证书的主体的名称。该值可以是整个主体名称的子字符串。 /p 密码 指定打开 PFX 文件时使用的密码。可以通过使用 /f 选项来指定 PFX 文件。 /r RootSubjectName 指定签名证书必须链接到的根证书的主体名称。该值可以是根证书的整个主题名称的子字符串。 /s StoreName 指定要在搜索证书时打开的存储区。如果未指定该选项,则打开“我的存储区”。 /sha1 哈希 指定签名证书的 SHA1 哈希。 /sm 指定使用一个计算机存储区,而不是使用用户存储区。 /t URL 指定时间戳服务器的 URL。如果该选项不存在,将不会对签名文件执行时间戳操作。如果时间戳操作失败,将生成一个警告。 /u 用法 指定签名证书必须存在的增强型密钥用法 (EKU)。可以通过 OID 或字符串指定该用法的值。默认用法为“代码签名”(1.3.6.1.5.5.7.3.3)。 下列选项适用于 timestamp 命令。 Timestamp 选项 说明 /t URL 必选。指定时间戳服务器的 URL。要执行时间戳操作的文件必须在以前已经进行了签名。 下列选项适用于 verify 命令。 Sign 选项 说明 /a 指定可以使用所有方法来验证文件。首先,搜索目录数据库以确定是否在目录对文件进行了签名。如果未在任何目录对文件进行签名,签名工具将尝试验证文件的嵌入签名。验证可以或不能在目录进行签名的文件时,建议使用该选项。可以或不能签名的文件示例包括 Windows 文件或驱动程序。 /ad 使用默认的目录数据库查找目录。 /as 使用系统组件(驱动程序)目录数据库查找目录。 /ag CatDBGUID 在由 GUID 识的目录数据库查找目录。 /c CatFile 通过名称指定目录文件。 /o Version 通过操作系统版本验证文件。version 参数的格式为 PlatformID:VerMajor.VerMinor.BuildNumber /pa 指定使用默认的身份验证策略。如果未指定 /pa 选项,签名工具将使用 Windows 驱动程序验证策略。此选项不能与 catdb 选项一起使用。 /pg PolicyGUID 通过 GUID 指定验证策略。GUID 对应于验证策略的 ActionID。此选项不能与 catdb 选项一起使用。 /r RootSubjectName 指定签名证书必须链接到的根证书的主体名称。该值可以是根证书的整个主题名称的子字符串。 /tw 指定如果签名没有时间戳,则生成一个警告。 下列选项适用于所有签名工具命令。 全局选项 说明 /q 执行成功时不生成输出,执行失败时生成最少的输出。 /v 执行成功、执行失败或产生警告消息时生成详细输出。 备注 签名工具要求本地计算机上安装了 CAPICOM 2.0 可再发行程序。可以从 http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdkredist.htm 获得 CAPICOM 2.0 可再发行程序。 签名工具的 verify 命令确定签名证书是否由受信任的颁发机构颁发、是否已撤消了签名证书,以及签名证书对于特定策略是否有效(此项可选)。 执行成功时,签名工具返回退出代码 0;执行失败时,签名工具返回退出代码 1;执行完毕并给出警告时,签名证书返回退出代码 2。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧