加密体系结构
规范和参考
年 月 日
简介
设计原理
体系结构
概念
核心类和接口
类
如何请求和提供提供者的实现
安装提供者
类
类
类
算法参数类
算法参数规范接口和类
【 !接口】
【 !类 】
类
"类
密钥接口
密钥规范接口和类
#!接口
#!类
$#!类
%#!类
%&#!类
%$#!类
'#!类
#&('#!类
)*+'#!类
#,类
&-.,类
#类
#"类
密钥管理
#位置
#实现
#类
% 类
代码示例
计算 对象
生成密钥对
用生成的密钥来生成和校验签名
用密钥规范和 #,来生成和校验签名
读取用 /01编码的证书
解析证书答复
附录 :标准名称
附录 /:算法
2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
简介
#安全 是 编程语言的核心 ,位于 34包(及其子包)中。该 设计用于帮助开发
人员在程序中同时使用低级和高级安全功能。
#4中第一次发布的 #安全中引入了“加密体系结构”5&6,指的是用于访问和开发 平台密码
功能的构架。在 #4中,&包括用于数字签名和报文摘要的 。
正如本文档所述,#4大大扩展了 加密体系结构。它还对证书管理基础结构进行了升级以支持
)4*+证书,并为划分细致、可配置性强、功能灵活、可扩展的访问控制引入了新的 安全体系结构。
加密体系结构包含 #4安全 中与密码有关的部分,以及本文档中提供的一组约定和规范。为实
现多重、可互操作的密码,它还提供了“提供者”体系结构。
密码扩展 5&'6扩展了 &,包括用于加密、密钥交换和信息认证码(&)的 。&'和 #密
码共同提供了一个与平台无关的完整密码 。&'作为 #的扩展将独立发布,以符合美国的出口控制约
束。
本文档是对 开发工具包 5#64版中发布的 加密体系结构 及其缺省提供者的描述和说明。描
述 &'的文档将在 &'版本中提供。有关 #安全 中 安全体系结构方面的信息,参见“安
全体系结构规范”。
注:该 &规范的最新版本可在公共网站
7!899344 9!93:949999&!!4 上找到。
设计原理
加密体系结构 5&6是根据以下原理设计的:
;实现的独立性和互操作性
;算法的独立性和可扩展性
实现的独立性和算法独立性是互补的:其目的是让 用户能用密码学的概念(如数字签名和报文摘要),
但又不必关心这些概念的实现甚至实现这些概念所用算法的实现。当不可能完全实现算法独立性时, &
将为开发人员提供标准的特定算法 。当实现方法的独立性不可能实现时,&将让开发人员指明所要求
的特定实现方法。
算法独立性是通过定义密码“引擎”(服务)的类型以及定义提供这些密码引擎功能的类来实现的。这些类
称为 (引擎)类,例如 类、 类和 #,类。
实现的独立性是通过使用基于“提供者”的体系结构而实现的。密码服务提供者(简称“提供者”)指的是用于