CSP设计之-密钥的产生和交换函数

本文详细介绍了CSP(Crypto Service Provider)中的密钥管理函数,包括CPDeriveKey、CPDestroyKey、CPDuplicateKey等,涵盖了密钥的生成、释放、复制和参数设置等关键操作,对于理解CSP密钥管理机制具有指导意义。
摘要由CSDN通过智能技术生成

 

密钥的产生和交换函数

   CPDeriveKey

   CPDestroyKey

   CPDuplicateKey

   CPExportKey

   CPGenKey

   CPGenRandom

   CPGetKeyParam

   CPGetUserKey

   CPImportKey

   CPSetKeyParam

1.2.1 CPDeriveKey

功能:

创建一个密码派生的密钥。

参数:

inhProv CSP句柄

inAlgid :算法标识

Value

Meaning

DES

支持

3DES

支持

RC2

支持

RC4

支持

SCB2

支持

SSF33

支持

inhBaseData :哈希对象数据

indwFlags :生成标记

Value

Meaning

CRYPT_EXPORTABLE
1
0x1

密钥可以导出的标

CRYPT_CREATE_SALT
4
0x4

不支持

CRYPT_NO_SALT
16
0x10

不支持

CRYPT_USER_PROTECTED
2
0x2

不支持

CRYPT_UPDATE_KEY
8
0x8

不支持

CRYPT_SERVER
1024
0x400

不支持

outphKey :密钥对象句柄

返回值:

If the function succeeds, the functionreturns TRUE.

错误情况下设置错误码如下

Value

Description

NTE_BAD_ALGID
0x80090008

指定的算法不支持

NTE_BAD_FLAGS
0x80090009

参数无效

NTE_BAD_HASH
0x80090002

HASH句柄无效

NTE_BAD_HASH_STATE
0x8009000c

状态不对,当HASH为完成状态情况下,再对数据进行运算时会失败。

NTE_FAIL
0x80090020

函数执行失败

NTE_BAD_UID
0x80090001

无效的CSP句柄

NTE_SILENT_CONTEXT
0x80090022

提供者无法执行的行动,因为上下文是无效的。


1.2.2 CPDestroyKey

功能:

释放密钥句柄

参数:

inhProv CSP句柄

inhKey要释放的密钥句柄。

 

返回值:

返回值

描述

NTE_BAD_KEY

无效的密钥句柄

NTE_BAD_UID

无效的CSP句柄

备注:

如果是用Cryptimportkey函数导入的会话密钥或是公钥,释放句柄时密钥所用的内存也将被覆盖。

对于其他句柄,如果是公钥/密钥对,由

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值