社区
网络编程
帖子详情
怎样在 vc++ 程序(MFC)中实现 把个人数字证书 加载到证书库中?
猿年码月
2009-11-03 04:43:44
开始我用CrytoAPI但是都是证书库之间的调用,和一些遍历证书库,显示证书的操作。我用了CertCreateCertificateContext()函数来制造一个证书的句柄,但是它只对.cer格式证书有效,
求怎样编程实现注册 .p12 格式的个人证书到证书库中,和从证书库中删除。(也就是实现windows自带的证书向导那样的导入和注销证书功能)。
最好能提供一个历程。
...全文
564
9
打赏
收藏
怎样在 vc++ 程序(MFC)中实现 把个人数字证书 加载到证书库中?
开始我用CrytoAPI但是都是证书库之间的调用,和一些遍历证书库,显示证书的操作。我用了CertCreateCertificateContext()函数来制造一个证书的句柄,但是它只对.cer格式证书有效, 求怎样编程实现注册 .p12 格式的个人证书到证书库中,和从证书库中删除。(也就是实现windows自带的证书向导那样的导入和注销证书功能)。 最好能提供一个历程。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wwww2
2009-12-30
打赏
举报
回复
PFXImportCertStore
这个函数应该满足你需要
猿年码月
2009-11-04
打赏
举报
回复
[Quote=引用 7 楼 miaolingshaohua 的回复:]
pCryptCATAdminAcquireContext =
(CryptCATAdminAcquireContext)GetProcAddress(dllHandle,"CryptCATAdminAcquireContext");
pCryptCATAdminReleaseContext =
(CryptCATAdminReleaseContext)GetProcAddress(dllHandle,"CryptCATAdminReleaseContext");
pCryptCATAdminCalcHashFromFileHandle =
(CryptCATAdminCalcHashFromFileHandle)GetProcAddress(dllHandle,"CryptCATAdminCalcHashFromFileHandle");
pCryptCATAdminEnumCatalogFromHash =
(CryptCATAdminEnumCatalogFromHash )GetProcAddress(dllHandle,"CryptCATAdminEnumCatalogFromHash");
pCryptCATAdminReleaseCatalogContext =
(CryptCATAdminReleaseCatalogContext)GetProcAddress(dllHandle,"CryptCATAdminReleaseCatalogContext");
pCryptCATCatalogInfoFromContext =
(CryptCATCatalogInfoFromContext)GetProcAddress(dllHandle,"CryptCATCatalogInfoFromContext");
pWinVerifyTrustX =
(WinVerifyTrustX)GetProcAddress(dllHandle,"WinVerifyTrust");
if (pCryptCATAdminAcquireContext == NULL
|| pCryptCATAdminReleaseContext == NULL
|| pCryptCATAdminCalcHashFromFileHandle == NULL
|| pCryptCATAdminEnumCatalogFromHash == NULL
|| pCryptCATAdminReleaseCatalogContext == NULL
|| pCryptCATCatalogInfoFromContext == NULL
|| pWinVerifyTrustX == NULL)
pCryptCATAdminCalcHashFromFileHandle
这些函数建议你用一下,是 获得数字签名的一些函数
[/Quote]
不需要获得签名,我要做的是把证书 加载上 让IE能识别就可以了。
哈利路亚1874
2009-11-03
打赏
举报
回复
pCryptCATAdminAcquireContext =
(CryptCATAdminAcquireContext)GetProcAddress(dllHandle,"CryptCATAdminAcquireContext");
pCryptCATAdminReleaseContext =
(CryptCATAdminReleaseContext)GetProcAddress(dllHandle,"CryptCATAdminReleaseContext");
pCryptCATAdminCalcHashFromFileHandle =
(CryptCATAdminCalcHashFromFileHandle)GetProcAddress(dllHandle,"CryptCATAdminCalcHashFromFileHandle");
pCryptCATAdminEnumCatalogFromHash =
(CryptCATAdminEnumCatalogFromHash )GetProcAddress(dllHandle,"CryptCATAdminEnumCatalogFromHash");
pCryptCATAdminReleaseCatalogContext =
(CryptCATAdminReleaseCatalogContext)GetProcAddress(dllHandle,"CryptCATAdminReleaseCatalogContext");
pCryptCATCatalogInfoFromContext =
(CryptCATCatalogInfoFromContext)GetProcAddress(dllHandle,"CryptCATCatalogInfoFromContext");
pWinVerifyTrustX =
(WinVerifyTrustX)GetProcAddress(dllHandle,"WinVerifyTrust");
if (pCryptCATAdminAcquireContext == NULL
|| pCryptCATAdminReleaseContext == NULL
|| pCryptCATAdminCalcHashFromFileHandle == NULL
|| pCryptCATAdminEnumCatalogFromHash == NULL
|| pCryptCATAdminReleaseCatalogContext == NULL
|| pCryptCATCatalogInfoFromContext == NULL
|| pWinVerifyTrustX == NULL)
pCryptCATAdminCalcHashFromFileHandle
这些函数建议你用一下,是 获得数字签名的一些函数
MoXiaoRab
2009-11-03
打赏
举报
回复
CrytoAPI可以实现证书库的操作的。我有个学长做过,但是我不是很清楚,但是可以肯定它可以
猿年码月
2009-11-03
打赏
举报
回复
[Quote=引用 2 楼 tr0j4n 的回复:]
Windows不支持p12这种证书的API支持。你那种是自己的一套机制
[/Quote]
2楼你能说的具体点吗,用什么技术,或者借助什么方法实现?
猿年码月
2009-11-03
打赏
举报
回复
[Quote=引用 3 楼 tr0j4n 的回复:]
必须使用CrytoAPI。你有PKI的书么?
[/Quote]
我有些有这方面的资料,请问用CrytoAPI是否能实现上述功能,如何实现,能说下具体用到的函数吗?
MoXiaoRab
2009-11-03
打赏
举报
回复
必须使用CrytoAPI。你有PKI的书么?
MoXiaoRab
2009-11-03
打赏
举报
回复
[Quote=引用楼主 cchai83321 的回复:]
开始我用CrytoAPI但是都是证书库之间的调用,和一些遍历证书库,显示证书的操作。我用了CertCreateCertificateContext()函数来制造一个证书的句柄,但是它只对.cer格式证书有效,
求怎样编程实现注册 .p12 格式的个人证书到证书库中,和从证书库中删除。(也就是实现windows自带的证书向导那样的导入和注销证书功能)。
最好能提供一个历程。
[/Quote]
Windows不支持p12这种证书的API支持。你那种是自己的一套机制
WecanHuang
2009-11-03
打赏
举报
回复
个人数字证书是什么?
可以用普通数据库方案实现吗
C++
MFC
界面编程(VS2013)上
V
C++
作为微软Visual Studio开发包
中
著名
C++
开发工具,一向以功能强大著称,可以开发包括系统底层、内核驱动、杀软防火墙到高级应用、网络、数据库,游戏各个领域软件的,全能型开发工具。但是,功能强大之外,V
C++
中
实现
的软件界面,一般就比较弱了,只能满足最基本的功能要求,而绝谈不上漂亮和优雅。这是因为,V
C++
的界面
实现
,会涉及到
MFC
非常深入的技术和大量图形、图像开发方面的知识和技巧。而这方面的内容,缺少相应的专著,比较散乱,不成系统。长期以来,要用V
C++
做出精美,独特的用户界面,都是比较困难的。而我们的
C++
界面编程,就是要解决这个问题。通过一个一个的实战例程,把大量的开发技巧,综合起来,深入浅出地教给朋友们,软件界面开发的思路与具体
实现
,让您的软件,不仅仅具备优秀的功能,也能拥有漂亮、大气、友好的用户界面。
VC,
MFC
开发技巧收集
(mainmenu->GetSubMenu (0))->DeleteMenu(i,MF_BYPOSITION); break; } } 十五、改变应用
程序
的图标 缺 十六、另一种改变窗口标题的方法 使用语句 CWnd* m_pCWnd = AfxGetMainWnd( ),然后,再以如下形式调用SetWindowText()函数: SetWindowText(
VC ActiveX 控件 开发总结
VC 制作ActiveX 控件(OCX) http://ileson.iteye.com/blog/1002910 1、vc6下建立一下activeX工程 详见http://hi.baidu.com/mailrabbit/blog/item/0624a608bde798346b60fbb6.html 2、在页面
中
调用 2.1:注册ocx到系统(也可以这样) C
cab文件打包的ActiveX控件(转)
2019独角兽企业重金招聘Python工程师标准>>> ...
WEB开发文档2 总结
转自:http://blog.donews.com/lvjiyong/archive/2006/06/29/931071.aspx怎样将后台生成的在内存
中
的图象显示到客户端Microsoft IE WebControls下载地址如何在DATAGRID
中
使用JAVASCRIPT脚本控制DataGrid
中
连接到下一页显示数据下载
中
文名文件时保存文件名乱码问题关于用ASP.net绘图的问题,请大虾指教那
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章