引言
PKI,被誉为现代信息社会安全的基石,它能够为所有网络透明地提供加密和数字签名等密码服务所需的密钥和证书管理功能,能够提供认证、访问控制、数据完整性机密性、和不可否认性等核心安全服务。由于PKI提供了良好的安全平台,全球很对单位都开发了各种PKI软硬件密码设备。但不同单位的加密接口不尽相同,为用户开发和设备无关的加密应用带来不便。为了解决加密接口问题,目前已经形成了多种API国际标准,其中PKI推荐使用的API标准主要有:Intel CDSA、RSA PKCS#11和Microsoft CryptoAPI.
##########################################################################################################################################
简介
这里,我们主要说说csp(微软的)和p11(rsa的)
CSP接口标准:
微软的加密应用几口,专为WIN32应用程序设计的。cryptoAPI本身不实现密码运算相关操作,而是操作系统通过调用CryptoSPI函数接口相应的加密服务提供者函数(csp)来实现。CSP的主要概念为:容器(key container),sessionkey,hashobject.
p11接口标准
RSA实验室开发的,有跨平台的特性。是PKCS的一部分,特指渺茫设备的因公编程接口,PKCS#11标准称为CryptoKi,是一个较底层的编程接口。
p11的主要概念是:令牌、会话、槽和对象。
############################################################################################
二者的区别:
CSP是通过容器来组织密钥。一个容器可以存放两个RSA密钥对,一个用于签名验证,一个用于加解密。此外每个用户在加密对话其间还会随机产生许多会话密钥。
pkcs11没有容器概念,它对密钥数据的保存和组织主要通过对象。p11定义了三种对象类型:数据对象,证书对象和密钥对象。
相比较而言,CSP比较简单,只有23个函数,当然它能够实现的功能就相对简单一点。可以作为入门。