VBS enclave 中提供的 Bcrypt API

Enclave 用于创建受信任的执行环境。 这些 Bcrypt API 适用于 VBS enclave 中的开发人员。

Bcrypt.h API 列表

bcrypt.h 头文件中的以下 API 可以在 VBS enclave 中调用。

API 说明
BCRYPT_INIT_AUTH_MODE_INFO 初始化 BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO 结构,以便在调用 BCryptEncrypt 和 BCryptDecrypt 函数时使用它。
BCryptAddContextFunction 将加密函数添加到现有 CNG 上下文支持的函数列表中。
BCryptCloseAlgorithmProvider 关闭算法提供程序。
BCryptConfigureContext 设置现有 CNG 上下文的配置信息。
BCryptConfigureContextFunction 设置现有 CNG 上下文的加密函数的配置信息。
BCryptCreateContext 创建新的 CNG 配置上下文。
BCryptCreateHash 调用后可创建哈希或消息验证代码 (MAC) 对象。
BCryptCreateMultiHash 创建一个多哈希状态,以便并行计算多个哈希操作。
BCryptDecrypt 解密数据块。
BCryptDeleteContext 删除现有的 CNG 配置上下文。
BCryptDeriveKey 从机密协议值派生密钥。
BCryptDeriveKeyCapi 从哈希值派生密钥。
BCryptDeriveKeyPBKDF2 使用 RFC 2898 定义的 PBKDF2 密钥派生算法从哈希值派生密钥。
BCryptDestroyHash 销毁哈希或消息验证代码 (MAC) 对象。
BCryptDestroyKey 销毁密钥。
BCryptDestroySecret 销毁使用 BCryptSecretAgreement 函数创建的机密协议句柄。
BCryptDuplicateHash 复制现有的哈希或消息验证代码 (MAC) 对象。
BCryptDuplicateKey 创建对称密钥的副本。
BCryptEncrypt 加密数据块。
BCryptEnumAlgorithms 获取已注册算法标识符的列表。
BCryptEnumContextFunctionProviders 获取指定配置表中上下文的加密函数的提供程序。
BCryptEnumContextFunctions 获取指定配置表中上下文的加密函数。
BCryptEnumContexts 获取指定配置表中上下文的标识符。
BCryptEnumProviders 获取支持指定算法的所有 CNG 提供程序。
BCryptEnumRegisteredProviders 检索有关已注册提供程序的信息。
BCryptExportKey 将密钥导出到可以保留以供以后使用的内存 BLOB。
BCryptFinalizeKeyPair 完成公钥/私钥对。
BCryptFinishHash 检索之前调用 BCryptHashData 时积累的数据的哈希或消息验证代码 (MAC) 值。
BCryptFreeBuffer 用于释放由 CNG 函数之一分配的内存。
BCryptGenerateKeyPair 创建空的公钥/私钥对。
BCryptGenerateSymmetricKey 根据提供的密钥创建一个密钥对象,以便将其与对称密钥加密算法配合使用。
BCryptGenRandom 生成随机数。
BCryptGetFipsAlgorithmMode 确定是否启用美国联邦信息处理标准 (FIPS) 合规性。
BCryptGetProperty 检索 CNG 对象的命名属性的值。
BCryptHash 执行单个哈希计算。 这是一个便捷函数,封装了对 BCryptCreateHash、BCryptHashData、BCryptFinishHash 和 BCryptDestroyHash 的调用。
BCryptHashData 在数据缓冲区上执行单向哈希或消息验证代码 (MAC)。
BCryptImportKey 从密钥 BLOB 导入对称密钥。
BCryptImportKeyPair 从密钥 BLOB 导入公钥/私钥对。
BCryptKeyDerivation 无需机密协议即可派生密钥。
BCryptOpenAlgorithmProvider 加载并初始化 CNG 提供程序。
BCryptProcessMultiOperations 处理针对多对象状态的一系列操作。
BCryptQueryContextConfiguration 检索指定 CNG 上下文的当前配置。
BCryptQueryContextFunctionConfiguration 获取现有 CNG 上下文的加密函数配置信息。
BCryptQueryContextFunctionProperty 获取现有 CNG 上下文中加密函数的命名属性的值。
BCryptQueryProviderRegistration 检索有关 CNG 提供程序的信息。
BCryptRegisterConfigChangeNotify 创建用户模式 CNG 配置更改事件处理程序。
BCryptRegisterConfigChangeNotify 描述 BCryptRegisterConfigChangeNotify(PRKEVENT) 函数如何创建内核模式 CNG 配置更改事件处理程序。
BCryptRemoveContextFunction 从现有 CNG 上下文支持的函数列表中删除加密函数。
BCryptResolveProviders 获取满足指定条件的所有提供程序的集合。
BCryptSecretAgreement 从私钥和公钥创建机密协议值。
BCryptSetContextFunctionProperty 设置现有 CNG 上下文中加密函数的命名属性的值。
BCryptSetProperty 设置 CNG 对象的命名属性的值。
BCryptSignHash 创建哈希值的签名。
BCryptUnregisterConfigChangeNotify 删除使用 BCryptRegisterConfigChangeNotify(HANDLE*) 函数创建的用户模式 CNG 配置更改事件处理程序。
BCryptUnregisterConfigChangeNotify 删除使用 BCryptRegisterConfigChangeNotify(HANDLE*) 函数创建的用户模式 CNG 配置更改事件处理程序。
BCryptVerifySignature 验证指定的签名是否与指定的哈希匹配。

另请参阅