VBS enclave 中提供的 Bcrypt API
适用于:✅ Windows 11 内部版本 26100.2314 或更高版本 ✅ 的 Windows Server 2025 或更高版本
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 | 验证指定的签名是否与指定的哈希匹配。 |