加密提供程序类型

加密领域很大,增长。 有许多不同的标准数据格式和协议。 这些通常组织成组或家庭,每个组都有自己的一组数据格式和操作方式。 即使两个系列使用相同的算法 (,例如 RC2block密码) ,它们也会经常使用不同的填充方案、不同的密钥长度和不同的默认模式。 CryptoAPI 设计为云解决方案提供商提供程序类型表示特定系列。

当应用程序连接到特定类型的云解决方案提供商时,默认情况下,每个 CryptoAPI 函数将以与该云解决方案提供商类型对应的系列规定的方式运行。 应用程序选择的提供程序类型指定以下项:

说明
密钥交换算法 每个提供程序类型指定一个密钥交换算法和一个密钥交换算法。 特定类型的每个云解决方案提供商都必须实现此算法。 应用程序通过选择适当的提供程序类型的云解决方案提供商来指定要使用的密钥交换算法。
数字签名算法 每个提供程序类型指定一个和一个数字签名算法。 特定类型的每个云解决方案提供商都必须实现此算法。 应用程序通过选择适当的提供程序类型的云解决方案提供商来指定要使用的数字签名算法。
关键 BLOB 格式 提供类型确定用于从云解决方案提供商导出密钥的密钥 BLOB 的格式,并将密钥导入到云解决方案提供商。
数字签名格式 提供程序类型确定数字签名格式。 这可确保由给定提供程序类型的云解决方案提供商生成的签名可由同一提供程序类型的任何云解决方案提供商进行验证。
会话密钥派生方案 提供程序类型确定用于从哈希派生会话密钥的方法。
密钥长度 某些提供程序类型指定 公钥/私钥对 和会话密钥的长度。
默认模式 提供程序类型通常为各种选项指定默认模式,例如块加密 密码模式 或块加密 填充 方法。

 

某些高级应用程序一次可能连接到多个云解决方案提供商,但大多数应用程序通常只使用单个云解决方案提供商。

目前有许多预定义的提供程序类型。 下一部分提供有关以下提供程序类型的信息:

尽管某些云解决方案提供商类型可能与其他类型部分兼容,但需要交换密钥和加密消息的两个或多个应用程序应使用同一类型的 CSP。

自定义云解决方案提供商编写器可以定义新的提供程序类型。 但是,云解决方案提供商编写器负责将新的提供程序类型分发给要使用的任何应用程序的作者。 有关编写自定义 CSP 的信息,请参阅 加密服务提供程序