安全性


密钥用法扩展和扩展密钥用法
密钥用法扩展

密钥用法扩展定义验证字中包含的公用密钥的用途。您可以使用它们根据需要限制公用密钥可执行的操作。例如,如果您拥有一个仅用于签名的公用密钥,应启用数字签名和/或认可扩展。或者,如果密钥仅用于密钥管理,则应启用密钥加密。

下表描述了可用于使用 CA 进程创建的密钥的密钥用法扩展。

注意 对于所有的 Internet 验证字,数字签名和数据加密密钥用法扩展都是缺省启用的。
密钥用法扩展描述
数字签名在公用密钥与数字签名机制协同使用时需要用以支持除认可、验证字签名或 CRL 签名以外的安全服务。数字签名常用于实体验证和数据源的完整性验证。
认可在使用公用密钥验证用于提供认可服务的数字签名时使用。认可服务可以防止签名实体错误地拒绝某些操作(将验证字或 CRL 签名排除在外)。
密钥加密当验证字与加密密钥的协议协同使用时需要用到。S/MIME 封装是样例之一,其中的快速(对称)密钥使用验证字中的公用密钥进行加密。SSL 协议也可以执行密钥加密。
数据加密当公用密钥用于加密用户数据而不是编码密钥时使用。
密钥协议当公用密钥的发送者和接收者需要在不使用加密的情况下获得密钥时使用。这样,此密钥就可以用于加密发送者和接收者之间的邮件。密钥协议通常与 Diffie-Hellman 加密法协同使用。
验证字签名当使用主题公用密钥验证验证字上的签名时需要用到。此扩展只可用于 CA 验证字。
CRL 签名当主题公用密钥用于验证吊销信息(如 CRL)上的签名时需要用到。
仅加密只有在另外还启用了密钥协议时才使用。此扩展可以使公用密钥仅用于在执行密钥协议时加密数据。
仅解密只有在另外还启用了密钥协议时才使用。此扩展可以使公用密钥仅用于在执行密钥协议时对数据进行解密。

扩展密钥用法

扩展密钥用法可以进一步调整密钥用法扩展。扩展密钥可以是关键的,也可是非关键的。如果扩展是关键的,则验证字必须仅用于预定的用途。如果验证字用于其他用途,则违反了 CA 的策略。

如果扩展是非关键的,它会指明密钥预定的用途,且可以用于查找拥有多个密钥/验证字的实体的正确密钥/验证字。该扩展只是一个信息域,并不表示 CA 限制将密钥用于预定的用途。但是,使用验证字的应用程序可能要求指明特定的用途,以使验证字可接受。

如果某个验证字同时包含关键密钥用法域和关键扩展密钥用法域,则必须独立地处理这两个域,且该验证字仅能用于与这两个域都一致的用途。如果没有与这两个域都一致的用途,则必须不能将该验证字用于任何用途。
扩展密钥对下列密钥用法扩展启用
TLS Web 服务器验证数字签名、密钥加密或密钥协议
TLS Web 客户机验证数字签名和/或密钥协议
签名(可下载)可执行代码数字签名
电子邮件保护数字签名、认可和/或密钥加密或密钥协议
IPSEC 最终系统(主机或路由器)数字签名和/或密钥加密或密钥协议
IPSEC 通道数字签名和/或密钥加密或密钥协议
IPSEC 用户数字签名和/或密钥加密或密钥协议
盖时间戳数字签名、认可。

需要的密钥用法扩展样例
应用程序需要的密钥用法扩展
SSL 客户机数字签名
SSL 服务器密钥加密
S/MIME 签名数字签名
S/MIME 加密密钥加密
验证字签名验证字签名
对象签名数字签名
另请参阅