软件包可以包含数字签名。带有有效数字签名的软件包可确保在向软件包应用签名之后,未曾对该软件进行过修改。使用已签名的软件包是下载或添加软件包较为安全的方法,因为在将软件包添加到系统之前可以对数字签名进行检验。
对于已签名的修补程序同样如此。带有有效数字签名的修补程序可确保在向修补程序应用签名之后,未曾对该修补程序进行过修改。使用已签名的修补程序是下载或应用修补程序较为安全的方法,因为在将修补程序应用于系统之前可以对数字签名进行检验。
有关向系统应用已签名的修补程序的更多信息,请参见 使用 patchadd 命令管理修补程序(任务图)。
有关创建已签名软件包的信息,请参见《应用程序包开发者指南》。
除了数字签名,已签名的软件包与未签名的软件包完全相同。使用现有的 Solaris 打包工具可以安装、查询或删除软件包。带签名的软件包还与不带签名的软件包二进制兼容。
必须用受信任证书设置软件包密钥库,才能使用 pkgadd 和 patchadd 将带有数字签名的软件包或修补程序添加到系统中。这些证书用来识别软件包或修补程序的数字签名是否有效。
对软件包密钥存储区的访问由专门的口令保护,该口令由您在向系统的软件包密钥存储区导入 Oracle 证书时指定。
有关使用证书验证已签名的软件包和修补程序的说明,请转至 http://download.oracle.com/docs/cd/E17476_01/javase/1.4.2/docs/tooldocs/solaris/keytool.html。
下面介绍与已签名的软件包和修补程序相关的一般术语。
根据需要查询的证书和密钥的系统信息库。
Java 密钥库-在缺省情况下随 Solaris 发行版安装的证书的系统信息库。Java 密钥库通常存储在 /usr/j2se/jre/lib/security 目录中。
软件包密钥库-在将已签名的软件包和修补程序添加到系统时所导入证书的系统信息库。
缺省情况下,软件包密钥库存储在 /var/sadm/security 目录中。
用来存放属于另一个实体的公钥的证书。之所以这样命名受信任证书,是因为密钥库属主相信证书中的公钥确实属于由证书的主题或拥有者所标识的身份。证书的颁发者通过对证书进行签名来确保证书的真实性。
在检验签名时,或者在启动到安全 (SSL) 服务器的连接时,可以使用受信任证书。
用来存放敏感的加密密钥信息。加密密钥信息以受保护的格式存储,可防止进行未经授权的访问。用户密钥中既包含用户的私钥又包含与私钥相对应的公钥证书。
使用 pkgadd 或 patchadd 命令向系统中添加已签名的软件包或修补程序的过程涉及到以下三个基本步骤:
通过使用 pkgadm 命令来将证书添加到系统的软件包密钥库中。
(可选)通过使用 pkgadm 命令来列出证书。
通过使用 pkgadd 命令来添加软件包或者通过使用 patchadd 命令来应用修补程序。
有关使用 patchadd 命令向系统中应用已签名修补程序的逐步说明,请参见 使用 patchadd 命令管理修补程序(任务图)。