李sir_Blog

博客园 首页 联系 订阅 管理
  705 随笔 :: 58 文章 :: 134 评论 :: 193万 阅读

09 2010 档案

摘要:数字证书(也称作数字证书)将身份绑定到一对可以用来加密和签名数字信息的电子密钥。数字证书能够验证一个人使用给定密钥的权利,这有助于防止有人利用假密钥冒充其他用户。数字证书与加密一起使用,可以提供一个更加完整的解决方案,确保交易中各方的身份。一、获得证书1、从CA获得如果是商业应用最好从证书的签发机构CA获得证书,比如VeriSign,这样的大的CA签发的证书已经被一些系统默认为可信任的证书签发机构... 阅读全文
posted @ 2010-09-29 11:48 李sir 阅读(1025) 评论(0) 推荐(0) 编辑

摘要:cer后缀的证书文件有两种编码-->DER二进制编码或者BASE64编码(也就是.pem)p7b一般是证书链,里面包括1到多个证书pfx是指以pkcs#12格式存储的证书和相应私钥。在Security编程中,有几种典型的密码交换信息文件格式:DER-encoded certificate: .cer, .crtPEM-encoded message: .pemPKCS#12 Personal... 阅读全文
posted @ 2010-09-29 11:29 李sir 阅读(13362) 评论(0) 推荐(0) 编辑

摘要:http://social.msdn.microsoft.com/Forums/zh-TW/241/thread/c14ea139-dd9d-4078-ac0c-81c3cf018f64 阅读全文
posted @ 2010-09-28 11:07 李sir 阅读(815) 评论(0) 推荐(0) 编辑

摘要:今日在释放内存是发生HEAP corruption Detected問題,纠结了半天。知道是释放的内存地址被改掉了造成的问题。内存在申请时会前后各加4位fd。用来校验。如果内存被该改掉的话后面4位fd会变掉。问题出在做base64的时候传入原数据。和原数据长度(不带;).我把他当字符串了len多加了一位。 阅读全文
posted @ 2010-09-27 20:03 李sir 阅读(709) 评论(0) 推荐(0) 编辑

摘要:最近写程序忽然发现了一些错误,运行总是报Heap corruption detected. 断点单步发现总是在delete的时候出错。 以前也出现过,不过没啥注意,现在想留着是个大大的心病!于是上网查了相关资料: 下面是转载资料: http://www.cppblog.com/kerlw/archive/2007/04/10/21604.aspx 今天写程序的时候到一个问题,调试的时候总是报错He... 阅读全文
posted @ 2010-09-27 14:14 李sir 阅读(21209) 评论(3) 推荐(1) 编辑

摘要:一般的数字证书产品的主题通常含有如下字段:公用名称 (Common Name) 简称:CN 字段,对于 SSL 证书,一般为网站域名;而对于代码签名证书则为申请单位名称;而对于客户端证书则为证书申请者的姓名; 单位名称 (Organization Name) :简称:O 字段,对于 SSL 证书,一般为网站域名;而对于代码签名证书则为申请单位名称;而对于客户端单位证书则为证书申请者所在单位名称; ... 阅读全文
posted @ 2010-09-25 10:57 李sir 阅读(5995) 评论(0) 推荐(0) 编辑

摘要:前言: Crypto是微软的加密API,如果看懂了,使用起来是很简单的一件事,不过就是最开始没有看懂,被虐了两天。然后又被其他问题给虐了两天。最后做出来的东西也不是让自己十分满意。不过还好,最后的结果还不算太糟。 本想对代码进行一次整理,写一个demo代码,不过现在有些慵懒了,还是随便贴些笔记好了。 PS: 发现Delphi盒子要卖了。这似乎也验证了一句话,有商业价值的东西才会有持续的生命力。 ... 阅读全文
posted @ 2010-09-24 09:15 李sir 阅读(3798) 评论(0) 推荐(0) 编辑

摘要:其实CSP主要是对容器里的密钥对操作的,和证书关系不大。容器里的密钥对有两种类型:一种是AT_KEYEXCHANGE,表示加密的密钥对,一种是AT_SIGNATURE表示签名的密钥对。由于美国的出口限制,在MS的CSP中加密的密钥对可以取的密钥最大长度通常会比签名的密钥对短。通常加密的密钥对只会用于加密,签名的密钥对只会用于签名,由于某些原因(例如产生证书请求),加密的密钥对也可以用于签名。我把A... 阅读全文
posted @ 2010-09-24 08:56 李sir 阅读(3729) 评论(0) 推荐(0) 编辑

摘要:一、解析X509证书1.从磁盘上的证书文件中读取证书数据unsigned char* pbX509Data; // 证书数据unsigned long ulX509DataLen; // 证书数据长度2.获取CertContextPCCERT_CONTEXT pCertContext = CertCreateCertificateContext(X509_ASN_ENCODING, pbX509D... 阅读全文
posted @ 2010-09-21 15:44 李sir 阅读(5872) 评论(3) 推荐(1) 编辑

摘要:现在持证人甲向持证人乙传送数字信息。为了保证信息传送的真实性。完整性和不可否认性。需要对要传送的信息进行数字加密和数字签名(1)甲准备好要传送的数字信息(明文)(2)甲对数字信息进行(hash)运算得到一个信息摘要(3)甲用自己的私钥(sk)对信息摘要进行加密得到甲的数字签名。并将其附加在数字信息上 (4) 甲随机产生一个加密密钥(DES密钥)并用此密钥对要发送的信息进行加密形成密文。(5)甲用乙... 阅读全文
posted @ 2010-09-21 12:53 李sir 阅读(606) 评论(0) 推荐(0) 编辑

摘要:The following examples provide code to open a variety of common certificate stores. This is a series of code fragments and is not a stand-alone program.// 1. Open the MY system store.HCERTSTORE hSysSt... 阅读全文
posted @ 2010-09-21 09:27 李sir 阅读(1408) 评论(0) 推荐(0) 编辑

摘要:最近在学习使用windows crypto API 对数据进行加密和解密,有些收获和经验,在此分享,希望对学习加密解密的朋友们有所帮助。 经过这次windows crypto API的学习过程,让我明白一个道理。其实,使用windows API编程并不难,首先要有信心。MSDN提供了详细的帮助和指南,许多问题,只要详细查阅MSND,完全可以不用在网上查找任何资料完成自己所需要的编程任务。 网上的东... 阅读全文
posted @ 2010-09-21 09:16 李sir 阅读(4002) 评论(0) 推荐(0) 编辑

摘要:1,CertOpenSystemStore打开系统最常用的证书存储区域。假如需要满足复杂的需要,请看CertOpenStore HCERTSTORE WINAPI CertOpenSystemStore( HCRYPTPROV hprov, //CSP句柄,NULL为默认句柄,或者由CryptAcquireContext返回 LPTCSTR szSubsystemProtocol //打开的系统存... 阅读全文
posted @ 2010-09-21 09:06 李sir 阅读(1005) 评论(0) 推荐(0) 编辑

摘要:1,CertOpenSystemStore打开系统最常用的证书存储区域。假如需要满足复杂的需要,请看CertOpenStore HCERTSTORE WINAPI CertOpenSystemStore( HCRYPTPROV hprov, //CSP句柄,NULL为默认句柄,或者由CryptAcquireContext返回 LPTCSTR szSubsystemProtocol //打开的系统存... 阅读全文
posted @ 2010-09-21 08:52 李sir 阅读(3557) 评论(0) 推荐(0) 编辑

摘要:1:鼠标拖动,上次是发消息。这次的话添加一个OnNcHitTest事件。然后将默认的返回值改为HICAPTION;2:可以自定义一个窗体来显示自定义的界面。只需在dlg类的构造函数中bmpDlg bmpdlg;bmpdlg.DoModal();自定义的窗口可以用classwizad生成。也可以直接添加继承与CDialog的类。enum { IDD = IDD_BMPDLG };要和窗体的名字保持一... 阅读全文
posted @ 2010-09-16 16:23 李sir 阅读(359) 评论(0) 推荐(0) 编辑

摘要:---- Visual c++ 提 供 了 功 能 强 大 的 类 库, 基 本 上 应 用 开 发 的 要 求, 但 对 于 某 些 特 殊 要 求 的 界 面, 如 图 像 兼 文 字 的 按 纽, 列 表 框 中 插 入 图 像, 中 国 式 报 表 等 等, 仍 显 得 力 不 从 心, 因 而 很 有 必 要 创 建 扩 展MFC 类 库, 以 满 足 实 际 开 发 的 需 求。 --... 阅读全文
posted @ 2010-09-16 14:59 李sir 阅读(650) 评论(0) 推荐(0) 编辑

摘要:创新是永恒的追求。当大家习惯Windows的界面时,又想自己开发的软件耳目一新的感觉,那么就得要改变窗口的形状,比如心形的窗口,总之是不规则的窗口。这时就需要使用到叫做区域的技术。区域就是把不同的形状的图形进行组合,然后可以填充它,或者在它那里显示。比如MSN左边的TAB按钮,应就是区域的运用就可以实现它了。函数CreateRectRgn声明如下:WINGDIAPI HRGN WINAPI Cre... 阅读全文
posted @ 2010-09-15 20:21 李sir 阅读(550) 评论(0) 推荐(0) 编辑

摘要:(1)mfc程序让程序在任务栏上不显示ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW)这样程序运行过程已经加载的时候都不会出现在任务栏上。2:首先这种写法是让对话框透明时用到的,因为要使窗体拥有透明效果,则窗口必须有WS_EX_LAYERED扩展属性,而一般情况下窗口是不具有WS_EX_LAYERED属性的,所以要加上这个属性SetWindowLong... 阅读全文
posted @ 2010-09-15 15:17 李sir 阅读(474) 评论(0) 推荐(0) 编辑

摘要:默认情况下,窗口是不响应WM_MOUSELEAVE和WM_MOUSEHOVER消息的,所以要使用_TrackMouseEvent函数来激活这两个消息。调用这个函数后,当鼠标在指定窗口上停留超过一定时间或离开窗口后,该函数会Post这两个消息到指定窗口。使用方法:1.在对话框类中定义一个变量来标识是否追踪当前鼠标状态,之所以要这样定义是要避免鼠标已经在窗体之上时,一移动鼠标就不断重复产生WM_MOU... 阅读全文
posted @ 2010-09-15 10:17 李sir 阅读(1604) 评论(0) 推荐(0) 编辑

摘要:http://vcer.net/vc/2.htmlhttp://www.oschina.net/projecthttp://www.yuanma.org/ 阅读全文
posted @ 2010-09-14 13:18 李sir 阅读(382) 评论(0) 推荐(0) 编辑

摘要:http://vcer.net/1046595482643.html 阅读全文
posted @ 2010-09-14 13:13 李sir 阅读(173) 评论(0) 推荐(0) 编辑

摘要:(1)IoGetDeviceObjectPointer:The IoGetDeviceObjectPointer routine returns a pointer to the top object in the named device object's stack and a pointer to the corresponding file object, if the requested... 阅读全文
posted @ 2010-09-09 09:58 李sir 阅读(1623) 评论(0) 推荐(0) 编辑

摘要:Web站点:http://www.osronline.com,技术含量很高的Windows驱动开发站点,该站点的list基本上覆盖了所有Windows驱动开发的常见问题,强烈推荐; http://www.microsoft.com/whdc,微软的驱动开发资源主页,可以获取很多官方资料; http://www.wd-3.com/,该站点收集了一些比较好的Windows驱动开发方面的文章和示例代码;... 阅读全文
posted @ 2010-09-08 16:28 李sir 阅读(446) 评论(0) 推荐(0) 编辑

摘要:1.msdn 在debug模式下的内存结构(曾今在gaia引擎里看过类似的自己模仿实现的内存管理结构)typedef struct _CrtMemBlockHeader{// Pointer to the block allocated just before this one: struct _CrtMemBlockHeader *pBlockHeaderNext; // Pointer to ... 阅读全文
posted @ 2010-09-08 15:53 李sir 阅读(5147) 评论(0) 推荐(3) 编辑

摘要:关键字:vs2008,dll,64bit,32bit原来使用Win7的32位系统,进行C#工程的开发,后来重装系统,换成了win7的64位系统调试原来的工程,由于在其中引用了“SQLite”的32位的dll,导致在64为位下程序无法运行(但是编译可以通过)后来通过修改工程文件(.csproj),在其中设置引用的条件,解决了问题打开引用了SQLite的工程(例如叫做info)... 阅读全文
posted @ 2010-09-06 15:50 李sir 阅读(6181) 评论(0) 推荐(0) 编辑

摘要:以往大多数的木马/后门都是通过修改系统ini文件(比如Win.ini,System.ini)或修改注册表的RUN值来实现自启动的,还有更简单的是修改Autobat.exe(老大,地球不适合你,你还是回火星吧),但随着网络用户安全意识的提高,连我家旁边卖茶叶蛋的大妈都知道如何对付这些老方法了。为了适应新时代木马后门技术的发展要求,一种利用Windows NT/2000/XP系统服务的后门产生了,现在... 阅读全文
posted @ 2010-09-06 14:21 李sir 阅读(6944) 评论(0) 推荐(2) 编辑

摘要:http://www.vckbase.com/document/viewdoc/?id=1114 阅读全文
posted @ 2010-09-05 18:43 李sir 阅读(389) 评论(0) 推荐(0) 编辑

摘要:warning C4018: “<”: 有符号/无符号不匹配出错代码 for(int j=0;j<detector.size();j++)出错原因分析: detector 是一个Vector容器 ,detecot.size() 在容器说明中 被定义为: unsigned int 类型, 而j是int 类型 所以会出现: 有符号/无符号不匹配 警告 错误改正 :... 阅读全文
posted @ 2010-09-05 18:37 李sir 阅读(22312) 评论(1) 推荐(4) 编辑

摘要:只需要改为_wcsicmp就可以了由提示,我们知道,wcsicmp为MC自己定义的函数,不复合 ISO C++ 组织的命名,该组织的命名为_wcsicmp。 阅读全文
posted @ 2010-09-05 17:25 李sir 阅读(485) 评论(0) 推荐(0) 编辑

摘要:error C2065: 'IDB_DIGITS' : undeclared identifier It is named correctly...以前总是忘了引用resource.h而报着个错。老是忘了记下来提醒下自己 阅读全文
posted @ 2010-09-05 17:19 李sir 阅读(497) 评论(0) 推荐(0) 编辑

摘要:From Baidu:在测试工作中,需要接触到各种类型的测试工具。一般来说,有以下一些类型的工具: 测试管理工具:可以帮助完成测试计划、跟踪测试运行结果等的工具。这类工具还包括有助于需求、设计、编码测试及缺陷跟踪的工具; 静态分析工具:分析代码而不执行代码。这种工具检测某些缺陷比用其它方法更有效,开销也更小。这种工具一般可以度量代码的各种指标,如McCabe测定复杂度,Logiscope度量代码和... 阅读全文
posted @ 2010-09-05 13:48 李sir 阅读(606) 评论(0) 推荐(0) 编辑

摘要:本章我们将以工业控制和嵌入式系统中运用极为广泛的串口通信为例讲述多线程的典型应用。   而网络通信也是多线程应用最广泛的领域之一,所以本章的最后一节也将对多线程网络通信进行简短的描述。  1.串口通信  在工业控制系统中,工控机(一般都基于PC Windows平台)经常需要与单片机通过串口进行通信。因此,操作和使用PC的串口成为大多数单片机、嵌入式系统领域工程师必须具备的能力。  串口的使用需要通... 阅读全文
posted @ 2010-09-01 15:01 李sir 阅读(1023) 评论(0) 推荐(0) 编辑

摘要:当一个应用程序比较大时,菜单比较多时,特别是初次接触这个程序的源码时,就会很难找到这个程序的入口点。下面通过SPY++可以很快速的获取到这个入口(程序要有源代码)1、运行这个应用程序,例如a.exe,此时打开spy++,将Window找到当前a.exe,再将Messages只捕捉WM_COMMAND消息。2、操作一个a.exe上想找到入口的一个菜单,spy++会捕捉到这个消息;3、可以看到这个消息... 阅读全文
posted @ 2010-09-01 14:39 李sir 阅读(1787) 评论(0) 推荐(0) 编辑

摘要:为什么要有TLS?原因在于,进程中的全局变量与函数内定义的静态(static)变量,是各个线程都可以访问的共享变量。在一个线程修改的内存内容,对所有线程都生效。这是一个优点也是一个缺点。说它是优点,线程的数据交换变得非常快捷。说它是缺点,一个线程死掉了,其它线程也性命不保; 多个线程访问共享数据,需要昂贵的同步开销,也容易造成同步相关的BUG。   如果需要在一个线程内部的各个函数调用都能访问、但... 阅读全文
posted @ 2010-09-01 14:30 李sir 阅读(5252) 评论(0) 推荐(2) 编辑

摘要:转自:http://hi.baidu.com/cshacker/blog/item/bd13fff989cf8950242df268.html 加 http://school.cnd8.com/windows-xp/jiaocheng/38341.htm在Windows上面32位与64位的区别有:1.指针大小的区别,sizeof(int *)在32bit下面是4个字节,在64bit下面是8个字节2... 阅读全文
posted @ 2010-09-01 13:33 李sir 阅读(1107) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示