Windows C API:wincrypt和sspi有什 么区别?

问题描述 投票:0回答:1

我正在寻找Windows加密的不同解决方案,偶然发现了这两个库。它们的头文件是Wincrypt.hSspi.h。它们似乎都提供了加密和解密例程:CryptEncryptMessageEncryptMessage,它们都提供了加密上下文句柄,并且确实很相似。那我该怎么用呢?

P.S。也有CNG,但据我所知,这只是Wincrypt的后继产品,将很快弃用。

windows winapi cryptoapi
1个回答
0
投票

根据MSDNEncryptMessage功能对消息进行加密以提供保密性。 EncryptMessage允许应用程序从所选机制支持的加密算法中进行选择。

此功能仅可用于SASL机制。

例如,如果要在Windows Domain环境中使用Microsoft的安全支持提供程序接口(SSPI)在两个实体(在C ++中)之间发送加密和签名的消息。则可以使用EncryptMessage

但是CryptEncryptMessage是CAPI2 PKI加密API。

[通常,在没有上下文的情况下,EncryptMessage的意思是为您拥有证书的某个实体加密数据(仅用于加密)并可以离线使用,CryptEncryptMessage仅可用于建立安全性后,客户端和服务器之间的连接使用InitializeSecurityContext/AcceptSecurityContext的上下文。

如果您想了解更多信息,请参阅:Difference between CryptEncryptMessage EncryptMessage(Negotiate)

© www.soinside.com 2019 - 2024. All rights reserved.