这段时间要实现一个认证协议,分为客户端和服务器端,客户端使用windows操作系统,服务器端使用linux操作系统,在客户端下(windows),使用windows证书库中的签名证书对消息进行签名(使用windows的crypto库),然后在服务器端(linux)下,使用OpenSSL库对签名值进行验证~~
客户端使用函数接口:
CertOpenSystemStore — 打开系统证书库
CryptUIDlgSelectCertificateFromStore — 从证书库中选择证书,获取证书上下文
CertGetCertificateContextProperty — 获取属性CERT_KEY_PROV_INFO_PROP_ID对应CRYPT_KEY_PROV_INFO结构,得到证书对应的密钥容器名
CryptAcquireContext — 连接密钥容器
CryptCreateHash — 创建Hash对象
CryptHashData — 得到Hash值
CryptSignHash