跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 11 开发者安全性指南 Oracle Solaris 11 Information Library (简体中文) |
本节介绍以下 KMF 组件:
pktool(1) 密钥管理工具
KMF 策略数据库
kmfcfg(1) 策略定义和插件配置实用程序
kmftypes.h 中定义的 KMF 数据类型以及 kmfapi.h 和 libkmf(3LIB) 中定义的编程接口
以下 pktool(1) 子命令明确支持 KMF:
删除密钥库中的对象。
从外部源下载 CRL 或证书文件。
将对象从密钥库导出到文件中。
创建自签名 X.509v3 证书。
创建 PKCS#10 证书签名请求 (Certificate Signing Request, CSR) 文件。
在密钥库中创建对称密钥。
显示帮助消息。
从外部源导入对象。
初始化 PKCS#11 令牌。
列出密钥库中对象的摘要。
更改用于访问密钥库的用户验证口令短语。
签名 PKCS#10 CSR。
列出所有可视 PKCS#11 令牌。
KMF 策略是一个策略分层树。 安装系统时定义了一个缺省策略。 除非应用程序声明其他策略,否则将应用缺省策略。
策略参数控制应用程序对 X.509 证书的使用。 KMF 策略应用于所有证书,并不仅限于任何特定密钥库。
使用 kmfcfg(1) 实用程序可管理 KMF 策略数据库并配置插件。 可以使用 kmfcfg 列出、创建、修改、删除、导入和导出系统缺省数据库文件 /etc/security/kmfpolicy.xml 或用户定义的数据库文件中的策略定义。 请注意,您不能修改系统 KMF 策略数据库中的缺省策略。 对于插件配置,您可以使用 kmfcfg 来显示插件信息,安装或卸载 KMF 插件,以及修改插件选项。
下面列出了某些 KMF 策略属性。 有关这些策略属性的完整列表和说明,请参见 kmfcfg(1) 手册页。
策略名称。 应用程序引用该名称。
缺省密钥库。 示例包括 NSS、文件、PKCS11。
忽略日期。 评估有效性时忽略证书中定义的有效期。
忽略未知 EKU。 在“扩展密钥使用”扩展中忽略任何无法识别的 EKU 值。
令牌标签。 该属性仅适用于 NSS 或 PKCS11 密钥库。
验证方法。 示例包括 OCSP 和 CRL。
密钥使用值。 该属性是所定义的策略所需的密钥使用值的逗号分隔列表。 必须设置这些位才能使用证书。
扩展密钥使用值。 该属性是所定义的策略所需的扩展密钥使用 OID 的逗号分隔列表。 必须提供这些 OID 才能使用证书。
有关策略数据类型的定义,请参见 kmfpolicy.h 文件。
Oracle Solaris KMF 中提供以下插件库:
PKCS#11 密钥库插件:kmf_pkcs11
OpenSSL 密钥库插件:kmf_openssl
NSS 密钥库插件:kmf_nss
Oracle Solaris KMF 为 PKI 操作提供抽象 API。 写入 KMF 的应用程序可以访问多个密钥库(如文件 (OpenSSL)、NSS 和 PKCS11 令牌)以及多个验证模块(如 OCSP 和 CRL 检查)。 第三方可以针对专用实现和传统实现对 KMF API 进行扩展。
在密钥管理框架库 libkmf(3LIB) 中提供 KMF API。 使用这些 API,您的应用程序可以创建和管理公钥对象,如公共/专用密钥对、证书、CSR、证书验证、CRL 和 OCSP 响应处理。
密钥、证书和 CSR 操作:创建和删除、存储和检索、搜索、导入和导出
通用加密操作:使用证书作为密钥进行签名和验证、加密和解密
访问复杂 PKI 对象:设置和获取 X.509 属性和扩展,并以人工可读的格式提取数据
KMF API 在 kmfapi.h 文件中定义,结构和类型在 kmftypes.h 文件中定义。 kmfapi.h 文件按以下各组列出相应功能:
设置操作
密钥操作
证书操作
使用密钥或证书的加密操作
CRL 操作
CSR 操作
获取证书操作
设置证书操作
PK12 操作
OCSP 操作
策略操作
错误处理
内存清除操作
适用于 PKCS#11 令牌的 API
属性管理操作