跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 11 开发者安全性指南 Oracle Solaris 11.1 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
属性管理操作