
信息安全
wangsifu2009
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
证书库中证书与密钥容器的关联
<br />证书的两种形式:<br /> <br />1、带私钥的证书,即p12格式证书(后缀为.pfx)<br />2、不带私钥的证书,有多种格式,通常我们使用的是cer格式证书(后缀为.cer)<br /> <br />当我们安装.pfx格式证书时,windows的安装程序会为我们生成一个唯一的密钥容器(密钥容器名为GUID格式),并把证书中的私钥存储在密钥容器中,然后把脱除私钥的证书(为.cer格式证书)存放在证书库中(如果是个人证书,会默认存放在个人证书库,也就是MY系统证书库中),证书库并为证书维原创 2010-12-01 09:33:00 · 3677 阅读 · 0 评论 -
OpenSSL库验证PKCS7签名
使用Crypto库签名和验证签名请参考Crypto库实现PKCS7签名与签名验证,可以使用OpenSSL库验证Crypto签名,OpenSSL验证签名可使用简单的代码描述如下://signature_msg为PKCS7签名串int Openssl_Verify(unsigned char* signature_msg,unsigned int length){ unsigned cha原创 2012-05-12 21:30:56 · 9370 阅读 · 2 评论 -
Crypto库实现PKCS7签名与签名验证
在windows中,可以直接使用微软提供的crypto库实现PKCS7签名与签名验证。签名接口函数为CryptSignMessage,其接口定义为:BOOL WINAPI CryptSignMessage( __in PCRYPT_SIGN_MESSAGE_PARA pSignPara, __in BOOL fDetachedSignature,原创 2012-05-12 16:19:17 · 8809 阅读 · 5 评论 -
Openssl 对x509证书有效性进行验证
在进行身份认证时,首先要对发送给服务器进行认证的x509证书有效性进行验证,在Openssl中,可以用一个API接口可以实现:int X509_verify_cert(X509_STORE_CTX *ctx); 接口中形参是X509_STORE_CTX(X509证书库上下文)类型,在X509证书库上下文中,存在一个X509证书库和一个待验证的X509证书,可以加入信任的证书链,也可以加入原创 2011-08-26 20:14:04 · 10468 阅读 · 0 评论 -
windows p12(pfx)个人证书安装过程
证书库个人证书存储区为其中的每个证书维护一个属性CERT_KEY_PROV_INFO_PROP_ID,该属性指定了证书对应的密钥容器的相关信息,包括密钥容器名,CSP名称,CSP类型,密钥用途,以及CSP的其他一些参数(这些参数信息也可以使用CryptSetProvParam函数来设置)。因为个人证书携带私钥信息,所以在导出p12(pfx)个人证书时,也导出了其对应密钥容器的相关信息(使用Cr原创 2012-05-14 18:31:36 · 11242 阅读 · 0 评论 -
windows 下使用MinGW编译PBC库
Linux下编译PBC库很简单,在PBC Manual中有其介绍,PBC库本身是基于Linux环境来编写的,编译过程和普通其他库的编译过程一样:1)./configure2)make3)make install4)make clean这里要注意一下,PBC库是基于GMP库的,如果Linux系统不存在GMP库时,在./configure这步时会出错,提示没有找到GMP库~~所以我原创 2012-02-27 21:29:12 · 5325 阅读 · 25 评论 -
OpenSSL中EC_GROUP_free和EC_KEY_free出错
这两天想根据国家密码管理局提供的SM2算法,写一个使用椭圆曲线加解密和一个数字签名验签的测试用例,SM2算法提供的加解密逻辑和数字签名验签逻辑与OpenSSL中提供的示例有一定的差别,OpenSSL提供的示例都是按照ECC原理模型来写的,而SM2算法在基本原理模型上有一定的扩展~~在调试数字签名验签的测试用例时,发现在EC_GROUP_free函数和EC_KEY_free函数运行时程序直接崩溃原创 2011-12-29 14:27:25 · 5764 阅读 · 1 评论 -
OpenSSL进行SSL通讯的一些问题
这两个星期真是被OpenSSL给烦透了,几个很简单基本的问题(如果没人告诉你真的很难测出来)把我搞的。。哎,有时候真是不知道自己该不该搞技术,发现自己头脑真是蠢得很。。。 直接上正题。 第一个问题: 前面讲过OpenSSL可以使用windows下的CAPI引擎(我也不太清楚是从哪个版本开始后就开始支持了,网上说是0.9.8i后),但是OpenSSL在windows下默认编译原创 2011-05-30 20:57:00 · 1574 阅读 · 1 评论 -
windows 系统中打开一个数字证书所经历的过程
今天在使用Outlook express调试CSP程序时,发现数字证书总是加载不上(提示该数字证书已经被破坏),使用断点进去跟踪一下,发现在CSP程序中调用CPVerifySignature函数时返回80090006错误(不是一个合法的签名),因为这里CPVerifySignature函数是windows提供的SPI接口函数,肯定不会有错,推测是不是传进去的签名值发生了错误,然而这个签名值来自哪里原创 2011-12-06 10:07:14 · 1481 阅读 · 0 评论 -
CryptAPI 数字签名 与 Openssl 验证签名
这段时间要实现一个认证协议,分为客户端和服务器端,客户端使用windows操作系统,服务器端使用linux操作系统,在客户端下(windows),使用windows证书库中的签名证书对消息进行签名(使用windows的crypto库),然后在服务器端(linux)下,使用Open原创 2011-08-10 12:18:55 · 2112 阅读 · 0 评论 -
邮件客户端加密意想不到的问题
今天一些问题又折磨了我一下午,哎~每次都被同一个问题折磨得不行~技术这条路真难走~ 问题一:使用malloc分配空间时注意对分配的空间进行清0,千万要注意,这里的错误真是千奇百怪~你很难发现~ 问题二:在使用outlook邮件客户端进行加密时,可以选择签名证书原创 2011-07-05 15:51:53 · 985 阅读 · 0 评论 -
openssl 生成v3证书
今天一下午都在调这个,网上也到处搜帖子,提问的一大票,能解决的暂时没有发现~~~~~ 想使用openssl生成一个只能用于签名的证书,即证书的扩展属性:密钥用途,只能用于数字签名~但是我们一般使用openssl生成证书时,生成的证书都是v1证书,是不带扩展属性的~~ 方法: 在使用CA证书进行签署证书时:openssl x509 –req –in other-re原创 2011-06-30 20:53:00 · 5764 阅读 · 0 评论 -
CreateDispatch 失败问题
这连天被这个问题搞的真是头破血流~~ 明明注册表中有Office Outlook 2003的注册项Outlook.Application,却总是报告80040154错误~唉~找不到原因,google + baidu + sougou ,网上提问题的还蛮多,可提供解决方案的却基本没找到~ 晚上继续找这个问题的解决方案,突然看到一篇帖子,说生成的Debug模式下出现错误,而Rel原创 2011-06-28 21:44:00 · 8021 阅读 · 2 评论 -
GetUserName问题
这几天也真的烦透了,原来在一台机器上运行正确的程序,却在另一台机器上运行错误,而且报错真的让你无所适从。。。 在进入windows logon界面后,进行用户登录时出现“一个问题阻止windows正确检查此机器的许可证,错误代码:0x80070002”。然后重返登录界面,不能进入系统。 上Baidu,Google搜索一通,网上一多半讲的是windows xp 升级sp3时出现这个问原创 2011-06-12 14:25:00 · 2748 阅读 · 0 评论 -
SSL使用windows证书库中证书实现双向认证
<br /> 前一段时间对OpenSSL库中的SSL通讯稍微琢磨了一下,在百度文库中找了个示例程序,然后在机器上跑,哇塞,运行成功!那时那个惊喜啊,SSL蛮简单的嘛。前几天,老板要我整一个SSL通讯,要使用windows证书库中的证书进行双向认证,我就想,那不是一小case嘛,于是没怎么放在心上,先休息两天再说。。昨天开完会后,决定开始整。。一打开原来做的SSL工程,我靠,傻眼了,原来示例程序中使用的都是OpenSSL生成的,例如CA证书,Server端证书,Client端证书,以及各自的密钥文件,我原创 2011-05-17 18:03:00 · 3352 阅读 · 0 评论 -
CERT_KEY_CONTEXT_PROP_ID,CERT_KEY_PROV_INFO_PROP_ID,CERT_KEY_PROV_HANDLE_PROP_ID和CERT_KEY_SPEC_PROP_ID
上面四个属性是CertSetCertificateContextProperty或CertGetCertificateContextProperty可以为证书上下文设置的几个属性,下面对它们的关联简单的进行分析(其中的意义我也不太清楚):通过CERT_KEY_CONTEXT_PROP_ID属性,我们可以为证书上下文设置一个CERT_KEY_CONTEXT结构体,在MSDN中,我们可以看到结构体的定义:typedef struct _CERT_KEY_CONTEXT { DWORD原创 2010-12-01 10:16:00 · 1907 阅读 · 0 评论 -
OpenSSL 双向认证
在使用OpenSSL进行SSL双向认证时,需要在服务器和客户端配置如下接口函数: SSL_CTX_set_verify(SSL_CTX* ctx,int mode,int (*verify_callback)(int,X509_STORE_CTX*)); SSL_CTX_load_verify_locations(SSL_CTX* ctx,const char* CAfile,cons原创 2012-05-15 17:11:55 · 16135 阅读 · 2 评论