使用windows crypt API解析X509证书】的更多相关文章

一.版本号 结构体CERT_INFO中的字段dwVersion即为证书版本,可以直接通过下面的代码获得: DWORD dwCertVer = m_pCertContext->pCertInfo->dwVersion; 版本值的定义如下: 也就是说,V1的值为0:V3的值为2,目前绝大多是证书都是V3版本. 二.序列号 序列号对应结构体CERT_INFO中的字段SerialNumber,不过该字段为ASN.1编码的大数对象,需要解码才能转化为我们平时看到的十六进制序列号.获取序列号的函数如下:…
原文在 http://bbs.pediy.com/archive/index.php?t-97663.html,但是觉得这篇文章非常好,我抄下来作我笔记用 一.解析X509证书 1.从磁盘上的证书文件中读取证书数据 unsigned char* pbX509Data; // 证书数据 unsigned long ulX509DataLen; // 证书数据长度 2.获取CertContext PCCERT_CONTEXT pCertContext = CertCreateCertificateC…
在之前的文章"通过OpenSSL解码X509证书文件"里.讲述了怎样使用OpenSSL将证书文件解码,得到证书上下文结构体X509的方法. 以下我们接着讲述怎样通过证书上下文结构体X509,获得想要的证书项. 本文先讲述怎样获取证书的基本项,后面还有文章介绍怎样获取证书的扩展项. 以下的代码,都是假定已经通过解码证书文件.得到了证书上下文结构体X509.至于怎样使用OpenSSL解码证书文件.得到证书上下文结构体X509.请阅读之前的文章. 首先,我们看看关于证书结构体X509定义:…
X.509 证书结构描述 常见的X.509证书格式包括: 后缀 作用 cer/crt 用于存放证书,它是2进制形式存放的,不含私钥 pem 以Ascii来表示,可以用于存放证书或私钥. pfx/p12 用于存放个人证书/私钥,他通常包含保护密码,2进制方式. p10 证书请求 p7r CA对证书请求的回复,只用于导入 p7b 以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥. 对于常见的https证书 一般是用crt或者pem来保存, http证书可电器网页前…
微软的CryptoAPI提供了一套解码X509证书的函数,一个X509证书解码之后,得到一个PCCERT_CONTEXT类型的结构体指针. 通过该结构体,我们就能够获取想要的证书项和属性等. X509证书文件,依据封装的不同,主要有下面三种类型: *.cer:单个X509证书文件,不私钥.能够是二进制和Base64格式.该类型的证书最常见: *.p7b:PKCS#7格式的证书链文件,包括一个或多个X509证书,不含私钥.通常从CA中心申请RSA证书时,返回的签名证书就是p7b格式的证书文件. *…
openssl解析国密X509证书,把公钥拿出来重写一下就行了        x = strToX509(pbCert, pulCertLen);dwRet = getCertPubKey(x, &pRSAPubKeyBlob, &pECCPubKeyBlob);ECCPUBLICKEYBLOB  pec = { 0 };//目标公钥pec.BitLen = 256;int i = 0;for (i = 0; i < 64; i++){if (i <= 31){pec.XCoo…
在Windows平台下.假设要解析一个X509证书文件,最直接的办法是使用微软的CryptoAPI. 可是在非Windows平台下,就仅仅能使用强大的开源跨平台库OpenSSL了.一个X509证书通过OpenSSL解码之后,得到一个X509类型的结构体指针. 通过该结构体,我们就能够获取想要的证书项和属性等. X509证书文件,依据封装的不同.主要有下面三种类型: *.cer:单个X509证书文件,不私钥,能够是二进制和Base64格式.该类型的证书最常见: *.p7b:PKCS#7格式的证书链…
C或者C++开发肯定经常会遇到各种错误码,由于每个错误码只是一个枚举或者一个整形数值,调试或者输出日志的时候,无法知道这个错误码的具体含义,这时候就需要将此错误码解释出来.对于自己定义的错误码,可以通过自己的方式进行解析.对于Windows API的错误码,则需要调用Windows的API进行解析,下面来介绍具体的错误码解析方法. Windows API 错误码解析 调用Windows API失败后,通常需要通过GetLastError来获取对应的错误码,要将此错误码解析为对应的描述信息,则需要…
X509证书介绍X.509 是由国际电信联盟(ITU-T)制定的数字证书标准,相信这是人尽皆知的了,目前X.509证书据我所知有三个版本,.net中使用的是x.509-2,X.509-2 版引入了主体和签发人唯一标识符的概念,以解决主体和/或签发人名称在一段时间后可能重复使用的问题,x509-2(以下简称x509)证书由两把钥匙组成,通常称之为密钥对,公钥加密,私钥解密.今天我想在这里对x509进行一个深入的介绍和了解,因为在WCF的安全体系中,x509证书应用是非常频繁的,或者说是不可缺少的.…
java微信开发API解析(二)-获取消息和回复消息 说明 * 本演示样例依据微信开发文档:http://mp.weixin.qq.com/wiki/home/index.html最新版(4/3/2016 5:34:36 PM )进行开发演示. * 编辑平台:myeclipse10.7+win32+jdk1.7+tomcat7.0 * server:阿里云 windows server 2008 64bits * 平台要求:servlet使用注解方式.平台要求:j2ee6.0+.jdk6.0+.…