Crypto API,PKCS#11,GMT 0016-2012,GMT 0018-2012简略使用指南

本文介绍了Windows平台下的CryptoAPI的摘要和对称加密操作,包括如何使用CryptAcquireContext、CryptCreateHash、CryptHashData等函数。同时概述了PKCS#11的架构、会话状态、对象和机制,为密码运算提供指导。
摘要由CSDN通过智能技术生成

Crypto API,PKCS#11,GMT 0016-2012,GMT 0018-2012简略使用指南

CryptoAPI

CryptoAPI是Win32平台下实现密码运算的一整套接口(当然你在Windows
64也可以用),在Windows下做密码运算基本绕不过它。今天开始,就介绍一下如何调用CryptoAPI实现几个主要的密码运算功能。

一、摘要
(1)可以按照如下顺序调用接口实现摘要:

   BOOL CryptAcquireContext (
   HCRYPTPROV * phProv,
   LPCTSTR pszContainer,
   LPCTSTR pszProvider,
   DWORD dwProvType,
   DWORD dwFlags
   )
  • 摘要运算的第一步要调用CryptAcquireContext方法。实际上,下面介绍的每一个密码运算基本都要先通过调用此方法,设置相应的密码运算参数,并返回相应的CSP句柄,用于后面的运算。phProv是返回的CSP句柄;pszContainer是要使用的密钥是在容器;摘要运算不涉及密钥,所以这里设置为NULL;pszProvider为使用到的CSP的名称,如果设置为NULL,则CryptAcquireContext会调用系统缺省CSP;dwProvType为所使用的CSP的类型,一般这里设置为PROV_RSA_FULL(0x1);dwFlags为标志值,如果是涉及到私钥的运算,如签名或解密,应设置为0,但如果是摘要、加密或验证等不涉及私钥的运算,强烈不建议这里设置成0,而应设置成CRYPT_VERIFYCONTEXT(0xF0000000),就是告诉Windows接下来的密码运算是不会访问私钥的。这样做的原因是,在实际应用中,摘要、加密或验证一般采取软实现的方式,尤其是加密和验证,即采用Windows自带的CSP。这种情况下,如果dwFlags设置成0,Windows的CSP会试图访问其私钥存储区域。而Windows
    CSP保护其私钥存储区域的口令是使用Win

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值