1.1CSP连接函数
CSP 连接函数 |
CPAcquireContext |
CPSetProvParam |
CPGetProvParam |
CPReleaseContext |
1.1.1 CPAcquireContext
功能:
用来取得CSP 密钥容器句柄,以后的任何加密操作就是针对此句柄而言。由适当的dwFlags 标志,这个函数就可以创建和销毁密钥容器。
参数:
【out】 phProv:CSP句柄
【in】pszContainer:密钥容器名称指针,容器名最大长度不超过MAX_PATH。如果设置的dwFlags CRYPT_VERIFYCONTEXT,pszContainer必须设备为NULL。如果pszContainer输入NULL或零长度字符串,使用默认密钥容器名称。例如,微软RSA BaseProvider,使用默认密钥容器的名称作为当前用户的登录名称。其他CSP可以使用不同的默认密钥容器名称。
【in】dwFlags:一个标志位可以是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