摘要: #include "stdafx.h"#include void test(char *p);int main(int argc, char* argv[]){ char szDate[1024]={0}; strcpy(szDate,"0123456789012345"); test(szDate... 阅读全文
posted @ 2015-03-19 11:58 CNW 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 在前面了解了CryptoAPI和CSP的相关概念之后,我们具体分析了CryptoAPI的相关函数,实现了写证书、私钥的过程和更新证书的过程。写证书和私钥到CSP的方案:首 先将CA返回给RA的证书和私钥进行封装,将它们封装成P12结构证书,然后将P12结构证书导入到一个临时的证书库中。在该临时库中找... 阅读全文
posted @ 2015-03-08 11:50 CNW 阅读(896) 评论(0) 推荐(0) 编辑
摘要: 本篇文章就介绍一下如何使用微软CAPI接口完成将USBKey中的证书注册到Windows系统中。(1)获取CSP句柄。CryptAcquireContext(&hTokenProv,NULL,“EnterSafe ET199Auto CSP V1.0”,PROV_RSA_FULL,NULL)(2)获... 阅读全文
posted @ 2015-03-08 11:46 CNW 阅读(2056) 评论(0) 推荐(0) 编辑
摘要: 读入一个CER文件,CertCreateCertificateContext生成CERT_CONTEXT。CERT_CONTEXT这个数据结构中有一项CERT_INFO,CERT_INFO里面有一项SubjectPublicKeyInfo,SubjectPublicKeyInfo是一段PUBLICK... 阅读全文
posted @ 2015-03-08 11:43 CNW 阅读(1235) 评论(0) 推荐(0) 编辑
摘要: 1.RSA算法 质数 p q n=p*q e1与(p-1)*(q-1)互质 e2*e1mod(p-1)*(q-1)=1 (n, e1) 是公钥 (n ,e2) 是私钥2.A是明文 B是密文 A=B^e1 mod n B=A^e1 mod n如:30 81 89 02 8... 阅读全文
posted @ 2014-12-03 21:31 CNW 阅读(1999) 评论(0) 推荐(0) 编辑
摘要: regsvr32 注册dll的路径中最好别有中文路径。因为 有时候 会出现 提示注册成功,但是网页调用的时候却不能用。 阅读全文
posted @ 2014-05-13 16:08 CNW 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 注意十六进制跟十六进制的字符的概念?????机器码跟字符串的概念???????如:机械:" #Eg壂惋" 转化后的输出十六进制结果为23456789ABCDEF00 字符串转变成十六进制的字符串 "55ff" 0x55 0xff 十六进制的字符串转变成字符串 0x55 0xf... 阅读全文
posted @ 2014-04-16 23:21 CNW 阅读(497) 评论(0) 推荐(0) 编辑
摘要: CSP的框架已经定型,网上以及MSDN中也有很多关于CSP的详细资料简介。下面说一下自己学习CSP的经历,仅供参考…… 首先,要先了解一下CSP各个函数的作用、使用流程和怎么搭配使用,这些例子在网上跟MSDN中有很多。建议不要只看代码,亲自动手写一下,效果比较好。 熟悉了CSP体系的框架,那就要实现自己的CSP的内容了。一般是关联硬件使用的。我所接触的是USBKEY。所以,我硬件是USBKEY为主的。具体的,我想每一个公司应该都有自己的一套的东西了,就不细说了。我说要说的是怎么去理解CSP使用的内容。 一般来说,CSP的一些HASH算法、是由我们来决定的,我们定义了那一些HASH算法,那么.. 阅读全文
posted @ 2014-03-31 16:40 CNW 阅读(1644) 评论(0) 推荐(0) 编辑
摘要: 1. 平台问题程序本身根据自身的平台 来加载适应的平台的动态库。如 i386的程序 调用 i386的动态库 X86_64的程序 调用X86_64的动态库所以我们编写动态库是要考虑到平台的问题如在为safari浏览器编写插件的过程中,如果safari为x86_64的,我们就要编写x86_64的动态库。这样程序跟动态库才能匹配的上。 查看一个库的平台可以用 file 库名 假如查出的库名的平台为x86_64、i386、pcc 而safari浏览器却为x86_64 这时,我们就要为我们的动态库开始进行廋身的命令 即 lipo 库名 -thin 平台 -output 新库名 如:aa.dylib(.. 阅读全文
posted @ 2013-10-11 19:40 CNW 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 大致分为以下三个步骤:(具体的一些概念的东西,没有详细说明)一、枚举HCD(Host Controller) HCD的命名规则为 \\.\HCD0,\\.\HCD1…… 一开始,我们假设有N个HCD,然后 使用CreateFile函数 获取到HCD的设备句柄之后,我们需要获取它下面的首个HUB的设备。二、根据HCD的设备句柄获取HUB设备 使用CreateFile函数打开USB,首先获取该hub的名字,使用DeviceIoControl函数向hcd设备发IOCTL_USB_GET_ROOT_HUB_NAME就可以获取要打开USB的名字。 如此就可以使用CreateFile函数打开USB,得到H 阅读全文
posted @ 2013-06-17 17:15 CNW 阅读(997) 评论(0) 推荐(0) 编辑