以下是该函数的基本语法和说明:
NTSTATUS BCryptSignHash(
BCRYPT_KEY_HANDLE hKey,
VOID *pPaddingInfo,
PUCHAR pbInput,
ULONG cbInput,
PUCHAR pbOutput,
ULONG cbOutput,
ULONG *pcbResult,
ULONG dwFlags
);
参数说明:
- hKey:用于签名的密钥的句柄。
- pPaddingInfo:一个指向填充信息结构的指针,可以为 NULL。
- pbInput:指向要签名的数据的缓冲区的指针。
- cbInput:要签名的数据的大小,以字节为单位。
- pbOutput:指向接收签名数据的缓冲区的指针。
- cbOutput:缓冲区的大小,以字节为单位。
- pcbResult:指向一个变量,用于接收实际写入 pbOutput 的字节数。
- dwFlags:标志位,可以为零或以下之一:
- BCRYPT_PAD_PKCS1:使用 PKCS #1 填充。
- BCRYPT_PAD_PSS:使用 Probabilistic Signature Scheme (PSS) 填充。
函数返回一个 NTSTATUS 类型的值,指示函数是否成功执行。
请注意,hKey 必须是一个私钥。签名的算法和填充方式与密钥的算法和填充方式相对应。调用方需要确保提供足够大的缓冲区以接收签名。
转载请注明出处:http://www.zyzy.cn/article/detail/24010/Win32 API/Bcrypt.h/BCryptSignHash