通过OpenSSL解析X509证书基本项】的更多相关文章

在之前的文章"通过OpenSSL解码X509证书文件"里.讲述了怎样使用OpenSSL将证书文件解码,得到证书上下文结构体X509的方法. 以下我们接着讲述怎样通过证书上下文结构体X509,获得想要的证书项. 本文先讲述怎样获取证书的基本项,后面还有文章介绍怎样获取证书的扩展项. 以下的代码,都是假定已经通过解码证书文件.得到了证书上下文结构体X509.至于怎样使用OpenSSL解码证书文件.得到证书上下文结构体X509.请阅读之前的文章. 首先,我们看看关于证书结构体X509定义:…
原文在 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证书和PFX证书之间的互转 # OpenSSL的下载与安装: 1.下载地址: 官方网址—— https://www.openssl.org/source/ OpenSSL for Windows —— http://gnuwin32.sourceforge.net/packages/openssl.htm 2.安装:此处已OpenSSL for Windows为例 * 点击openssl-0.9.8h-1-setup.exe 进行安装: * 添加环境变量:path…
在Windows平台下.假设要解析一个X509证书文件,最直接的办法是使用微软的CryptoAPI. 可是在非Windows平台下,就仅仅能使用强大的开源跨平台库OpenSSL了.一个X509证书通过OpenSSL解码之后,得到一个X509类型的结构体指针. 通过该结构体,我们就能够获取想要的证书项和属性等. X509证书文件,依据封装的不同.主要有下面三种类型: *.cer:单个X509证书文件,不私钥,能够是二进制和Base64格式.该类型的证书最常见: *.p7b:PKCS#7格式的证书链…
X.509 证书结构描述 常见的X.509证书格式包括: 后缀 作用 cer/crt 用于存放证书,它是2进制形式存放的,不含私钥 pem 以Ascii来表示,可以用于存放证书或私钥. pfx/p12 用于存放个人证书/私钥,他通常包含保护密码,2进制方式. p10 证书请求 p7r CA对证书请求的回复,只用于导入 p7b 以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥. 对于常见的https证书 一般是用crt或者pem来保存, http证书可电器网页前…
一.版本号 结构体CERT_INFO中的字段dwVersion即为证书版本,可以直接通过下面的代码获得: DWORD dwCertVer = m_pCertContext->pCertInfo->dwVersion; 版本值的定义如下: 也就是说,V1的值为0:V3的值为2,目前绝大多是证书都是V3版本. 二.序列号 序列号对应结构体CERT_INFO中的字段SerialNumber,不过该字段为ASN.1编码的大数对象,需要解码才能转化为我们平时看到的十六进制序列号.获取序列号的函数如下:…
微软的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…
SKID(证书使用者密钥标识符,subject key identifier 的简称)和 AKID(证书颁发机构密钥标识符,authority key identifier 的简称)是 X509 证书中常见的扩展字段. 下图是一张典型的证书文件(test.der),其中就包含 SKID 和 AKID 字段. 它们是做什么用的?简言之,这两个字段用于(通过 subject 和 issuer)快速区分证书. 数字证书使用已经很广泛,理论上多本证书可能具有相同的 subject name,该如何区分这…
Openssl的相关使用 生成证书 生成证书见:使用 openssl 生成证书 代码实现 Cert.h #ifndef _CERT_H #define _CERT_H ///header files #include <stdio.h> #include <string.h> #include <openssl\rsa.h> #include <openssl\pem.h> #include <openssl\evp.h> #include &l…