使用cryptapi进行数字签名demo
调用cryptapi进行数字签名,1,添加头文件windows.h、wincrypt.h
2,调用CryptAcquireContext()获得某个CSP模块中的密钥容器(key container)的一个句柄;
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2489 2013-01-16 16:13 stdafx.h
文件 21630 2005-11-11 22:45 resCertTest.ico
文件 364 2013-01-16 16:13 resCertTest.rc2
文件 58344 2013-01-16 16:13 CertTest.aps
文件 1675 2013-01-16 16:13 CertTest.cpp
文件 453 2013-01-16 16:13 CertTest.h
文件 19680256 2013-02-27 14:20 CertTest.ncb
文件 5063 2013-01-16 16:13 CertTest.rc
文件 880 2013-01-16 16:13 CertTest.sln
文件 5483 2013-01-28 09:25 CertTest.vcproj
文件 1423 2013-02-27 14:20 CertTest.vcproj.KinggGrid_157.XHB.user
文件 6692 2013-01-16 18:04 CertTestDlg.cpp
文件 609 2013-01-16 16:15 CertTestDlg.h
文件 2909 2013-01-16 16:13 ReadMe.txt
文件 523 2013-01-16 16:13 Resource.h
文件 139 2013-01-16 16:13 stdafx.cpp
目录 0 2013-03-04 14:04 res
----------- --------- ---------- ----- ----
19788932 17
// CertTest.cpp : 定义应用程序的类行为。
//
#include “stdafx.h“
#include “CertTest.h“
#include “CertTestDlg.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CCertTestApp
BEGIN_MESSAGE_MAP(CCertTestApp CWinApp)
ON_COMMAND(ID_HELP &CWinApp::onhelp)
END_MESSAGE_MAP()
// CCertTestApp 构造
CCertTestApp::CCertTestApp()
{
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}
// 唯一的一个 CCertTestApp 对象
CCertTestApp theApp;
// CCertTestApp 初始化
BOOL CCertTestApp::InitInstance()
{
// 如果一个运行在 Windows XP 上的应用程序清单指定要
// 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
//则需要 InitCommonControlsEx()。否则,将无法创建窗口。
INITCOMMONCONTROLSEX InitCtrls;
InitCtrls.dwSize = sizeof(InitCtrls);
// 将它设置为包括所有要在应用程序中使用的
// 公共控件类。
InitCtrls.dwICC = ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
CWinApp::InitInstance();
AfxEnableControlContainer();
// 标准初始化
// 如果未使用这些功能并希望减小
// 最终可执行文件的大小,则应移除下列
// 不需要的特定初始化例程
// 更改用于存储设置的注册表项
// TODO: 应适当修改该字符串,
// 例如修改为公司或组织名
SetRegistryKey(_T(“应用程序向导生成的本地应用程序“));
CCertTestDlg dlg;
m_pMainWnd = &dlg;
INT_PTR nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
// TODO: 在此处放置处理何时用“确定”来关闭
// 对话框的代码
}
else if (nResponse == IDCANCEL)
{
// TODO: 在此放置处理何时用“取消”来关闭
// 对话框的代码
}
// 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
// 而不是启动应用程序的消息泵。
return FALSE;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2489 2013-01-16 16:13 stdafx.h
文件 21630 2005-11-11 22:45 resCertTest.ico
文件 364 2013-01-16 16:13 resCertTest.rc2
文件 58344 2013-01-16 16:13 CertTest.aps
文件 1675 2013-01-16 16:13 CertTest.cpp
文件 453 2013-01-16 16:13 CertTest.h
文件 19680256 2013-02-27 14:20 CertTest.ncb
文件 5063 2013-01-16 16:13 CertTest.rc
文件 880 2013-01-16 16:13 CertTest.sln
文件 5483 2013-01-28 09:25 CertTest.vcproj
文件 1423 2013-02-27 14:20 CertTest.vcproj.KinggGrid_157.XHB.user
文件 6692 2013-01-16 18:04 CertTestDlg.cpp
文件 609 2013-01-16 16:15 CertTestDlg.h
文件 2909 2013-01-16 16:13 ReadMe.txt
文件 523 2013-01-16 16:13 Resource.h
文件 139 2013-01-16 16:13 stdafx.cpp
目录 0 2013-03-04 14:04 res
----------- --------- ---------- ----- ----
19788932 17
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)