CSP设计之-设备连接

本文详细介绍了CSP(Cryptographic Service Provider)的连接函数,包括CPAcquireContext和CPReleaseContext。CPAcquireContext用于获取CSP密钥容器句柄,而CPReleaseContext则用于释放由CPAcquireContext创建的上下文,确保资源的有效管理。同时,还提及了CPSetProvParam和CPGetProvParam两个辅助函数,分别用于设置和获取CSP参数。
摘要由CSDN通过智能技术生成

1.1CSP连接函数

CSP 连接函数

   CPAcquireContext

   CPSetProvParam

   CPGetProvParam

   CPReleaseContext

 

 

 

 

 

 


1.1.1 CPAcquireContext

功能:

用来取得CSP 密钥容器句柄,以后的任何加密操作就是针对此句柄而言。由适当的dwFlags 标志,这个函数就可以创建和销毁密钥容器。

参数:

out phProvCSP句柄

inpszContainer密钥容器名称指针,容器名最大长度不超过MAX_PATH。如果设置的dwFlags CRYPT_VERIFYCONTEXT,pszContainer必须设备为NULL。如果pszContainer输入NULL或零长度字符串,使用默认密钥容器名称。例如,微软RSA BaseProvider,使用默认密钥容器的名称作为当前用户的登录名称。其他CSP可以使用不同的默认密钥容器名称。

indwFlags一个标志位可以是0或者以下的标志位.

含义

CRYPT_VERIFYCONTEXT

应用程序没有访问的私钥和pszContainer参数必须设置为NULL。CryptAcquireContext被调用时,当使用此标志,并创建或导入公私密钥对,密钥被视为短暂使用,密钥只保留在内存中,当调用CPReleaseContext时自动销毁。

CRYPT_VERIFYCONTEXT_SM2

(国密算法)应用程序没有访问的私钥和pszContainer参数必须设置为NULL。CryptAcquireContext被调用时,当使用此标志,并创建或导入公私密钥对,密钥被视为短暂使用,密钥只保留在内存中,当调用CPReleaseContext时自动销毁。

CRYPT_NEWKEYSET

使用指定的密钥容器名称创建一个新的密钥容器。如果pszContainer 为NULL,密钥容器就使用却省的名称创建。

CRYPT_NEWKEYSET_SM2

(国密算法)使用指定的密钥容器名称创建一个新的密钥容器。如果pszContainer 为NULL,密钥容器就使用却省的名称创建。

CRYPT_DELETEKEYSET

删除由pszContainer 指定的密钥容器。如果pszContainer为NULL,却省名称的容器就会被删除。此时应用程序并不需要调用CryptReleaseContext来释放上下文。

CRYPT_DELETEKEYSET_SM2

删除由pszContainer 指定的密钥容器。如果pszContainer为NULL,却省名称的容器就会被删除。此时应用程序并不需要调用CryptReleaseContext来释放上下文。

CRYPT_SILENT

此标志指示不显示用户界面(UI)。如果任何之后函数调用要求有UI操作,函数调用必须失败并且最后一个错误设置为NTE_SILENT_CONTEXT。此标志的目的是为应用程序无法容忍的UI被显示的CSP使用。

CRYPT_MACHINE_KEYSET

此标志 (CSP不予做处理)

in

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值