首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CryptoApi包和展开键

CryptoApi包和展开键
EN

Stack Overflow用户
提问于 2013-06-30 09:23:47
回答 1查看 520关注 0票数 0

是否有一种在CryptoApi中包装或打开密钥的方法?我尝试用适当的函数设置键参数CRYPT_IMPORT_KEYCRYPT_EXPORT_KEY,但是我得到了"params未定义“的错误。

其他细节:程序是用C++编写的,操作系统: Win7,IDE: Dev- C++,主要标题是windows.hwincrypt.h

编译时,会得到错误“CRYPT_EXPORT_KEY (或CRYPT_IMPORT_KEY)未声明”。

我写的代码:

代码语言:javascript
复制
flags = CRYPT_ENCRYPT | CRYPT_EXPORTABLE | CRYPT_DECRYPT | CRYPT_EXPORT_KEY;
//set the above permission to the session key "dkey"    
CryptSetKeyParam(dKey,KP_PERMISSIONS,(BYTE*)&flags,0);

评论意见中的最新情况:

而且它会编译!但是程序以错误NTE_BAD_FLAGS结束。这是因为CRYPT_EXPORT_KEY的标志!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-02 18:50:11

检查docs - CryptSetKeyParamCryptGetKeyParam

当您使用KP_PERMISSIONS时,有效的标志集是

代码语言:javascript
复制
CRYPT_ARCHIVE
CRYPT_DECRYPT
CRYPT_ENCRYPT
CRYPT_EXPORT
CRYPT_EXPORT_KEY
CRYPT_IMPORT_KEY
CRYPT_MAC
CRYPT_READ
CRYPT_WRITE

CRYPT_EXPORTABLE不在此列表中。

如果您检查CryptGenKey的文档,则CRYPT_EXPORTABLE是您在创建密钥时使用的标志,以便以后可以导出它。这不是CryptSetKeyParam所必需的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17388927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档