`
yuankai
  • 浏览: 105795 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Lua调用C++证书加密解密文件函数实现

    博客分类:
  • Lua
阅读更多
  最近研究的成功终于有了点结果,暂时大体上实现了用C++实现用证书加密解密文件。主要是使用到window的API Cryptography里面提供的方法实现证书的加密解密等操作。证书主要是查找Window的证书库(把证书文件导入到IE中就可以了),我这里是使用CertOpenStore函数打开MY证书库(这个MY可以是别的值,具体看你的需求,详细可以在MSDN中找到这个方法),然后使用CertFindCertificateInStore函数查找在MY证书库中证书(这个方法有个参数是需要指定使用的证书名,参数名:pvFindPara),如果在MY证书库中找到指定的证书就可以往下执行加密解密等操作了,这里不多说,具体的看后面的代码。具体环境配置可以看我的上一篇博客。
这里还需要配置一个地方,就是设置Peoject的编码.
具体配置:右键Project->property->Configuration Properties->General->Project Defaults->Character Set ,这里选择Use Unicode Character Set,设置Project为unicode的编码.
具体的代码可以查看附件中的源码,里面有注释!
示例环境:Visual C++ 2008 Express Edition + Lua5.1 + SciTE(安装Lua自带)
附件介绍(使用Visual C++ 2008打开):
1.在附件中有2个Project,分别是:unicode 和 crypto.
2.运行本例子需要将unicode和crypto两个Project都Build。
3.然后在当前Project下的Debug目录下分别把unicode.dll和crypto.dll两个文件copy到lua文件同级。
4.以上完成后可以用SciTE打开附件中Lua文件夹下 .lua 文件,修改证书名。不知道证书名可以打开IE->工具->Internet选项->内容->证书->个人(只能是个人,因为在程序中写死了L"MY"),然后双击你要使用的证书,打开对话框后就可以看到"颁发给",或者去详细信息->主题,下面的CN就是证书名。
5.运行lua
如果你证书库中有证书,证书名正确的话就可以看到加密和解密的文件。
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics