CryptoAPI 系统体系结构由五个主要功能领域组成:
基本加密函数
- 用于连接到 CSP 的上下文函数。 这些函数使应用程序能够按名称选择特定的 CSP,或选择可以提供所需功能类的特定 CSP。
- 密钥生成函数 用于生成和存储 加密密钥。 支持更改 链接模式、初始化向量和其他加密功能。 有关详细信息,请参阅 密钥生成和 Exchange 函数。
- 用于交换或传输密钥的密钥交换函数。 有关详细信息,请参阅 加密密钥存储和 Exchange 以及 密钥生成和 Exchange 函数。
证书编码/解码函数
证书存储函数
简化的消息函数
- 用于加密和解密消息和数据的功能。
- 用于对消息和数据进行签名的函数。
- 用于验证已接收消息和相关数据的签名真实性的函数。
低级别消息函数
每个功能区域在其函数名称中都有一个关键字,用于指示其功能区域。
功能区域 | 函数名称约定 |
---|---|
基本加密函数 | 地穴 |
编码/解码函数 | 地穴 |
证书存储函数 | 商店 |
简化的消息函数 | 消息 |
低级别消息函数 | 味精 |
应用程序在所有这些领域都使用函数。 这些函数组合在一起,组成 CryptoAPI。 基本加密函数 将 CSP 用于必要的加密算法,以及生成和安全存储 加密密钥。
使用了两种不同类型的加密密钥:会话密钥,用于单个加密/解密,公钥/私钥对,这些密钥在更永久的基础上使用。
注意
尽管应用程序可以直接与五个功能区域中的任何一个通信,但它无法直接与 CSP 通信。 所有应用程序到 CSP 通信都通过 基本加密函数进行。 基本加密函数具有一个参数,用于指定要使用的 CSP。 可以将此参数设置为 NULL 以选择默认 CSP。