Guía del desarrollador para la creación de paquetes de aplicaciones

Administración de certificados

Antes de crear un paquete firmado, debe tener un almacén de claves de paquetes. Este almacén de claves de paquetes contiene certificados en forma de objetos. Hay dos tipos de objetos en un almacén de claves de paquetes:

Certificado de confianza

Un certificado de confianza contiene un único certificado de clave pública que pertenece a otra entidad. El certificado de confianza se nombra de este modo porque el propietario del almacén de claves confía en que la clave pública del certificado pertenece en realidad a la identidad indicada por el "sujeto" (propietario) del certificado. El emisor del certificado da fe de esta confianza al firmar el certificado.

Los certificados de confianza se usan al verificar firmas y al iniciar una conexión con un servidor (SSL) seguro.

Clave de usuario

Una clave de usuario contiene información de clave criptográfica sensible. Esta información se almacena con un formato protegido para impedir el acceso no autorizado. Una clave de usuario se compone de la clave privada del usuario y el certificado de clave pública que se corresponde con la clave privada.

Las claves de usuario se usan al crear un paquete firmado.

De forma predeterminada, el almacén de claves de paquetes se encuentra en el directorio /var/sadm/security. Cada uno de los usuarios también puede tener su propio almacén de claves guardado de forma predeterminada en el directorio $HOME/.pkg/security.

En el disco, un almacén de claves de paquetes puede estar en dos formatos: formato de varios archivos y formato de un único archivo. Un formato de varios archivos almacena sus objetos en varios archivos. Cada tipo de objeto se almacena en un archivo aparte. Todos estos archivos se deben cifrar mediante las mismas frases de contraseña. Un almacén de claves de un único archivo guarda todos sus objetos en un único archivo del sistema de archivos.

La utilidad principal que se usa para administrar los certificados y el almacén de claves de paquetes es el comando pkgadm. Las subsecciones siguientes describen las tareas más habituales utilizadas par administrar el almacén de claves de paquetes.

Adición de certificados de confianza al almacén de claves de paquetes

Se puede agregar un certificado de confianza al almacén de claves de paquetes mediante el comando pkgadm. El certificado puede tener formato PEM o DER. Por ejemplo:


$ pkgadm addcert -t /tmp/mytrustedcert.pem

En este ejemplo, el certificado con formato PEM llamado mytrustedcert.pem se agrega al almacén de claves de paquetes.

Adición de un certificado de usuario y de una clave privada al almacén de claves de paquetes

El comando pkgadm no genera certificados de usuarios o claves privadas. Los certificados de usuario y las claves privadas se obtienen normalmente de una autoridad de certificados, como Verisign. O bien, se generan localmente como certificado autofirmado. Tras obtener la clave y el certificado, se pueden importar al almacén de claves de paquetes mediante el comando pkgadm. Por ejemplo:


pkgadm addcert -n myname -e /tmp/myprivkey.pem /tmp/mypubcert.pem

En este ejemplo se usan las opciones siguientes:

-n mi_nombre

Identifica a la entidad (mi_nombre) en el almacén de claves de paquetes donde desea trabajar. La entidad myname se convierte en alias en el que se almacenan los objetos.

-e /tmp/mi_clave_privada.pem

Especifica el archivo que contiene la clave privada. En este caso, el archivo es myprivkey.pem y se encuentra en el directorio /tmp.

/tmp/mi_certificado_público.pem

Especifica el archivo de certificado con formato PEM llamado mi_certificado_público.pem.

Comprobación del contenido en el almacén de claves de paquetes

El comando pkgadm también se usa para ver el contenido del almacén de claves de paquetes. Por ejemplo:


$ pkgadm listcert

Este comando muestra los certificados de confianza y las claves privadas en el almacén de claves de paquetes.

Eliminación de certificados de confianza y claves privadas del almacén de claves de paquetes

El comando pkgadm se puede usar para suprimir certificados de confianza y claves privadas del almacén de claves de paquetes.

Cuando suprime certificados de usuarios, debe especificarse el alias del par certificado/clave. Por ejemplo:


$ pkgadm removecert -n myname

El alias del certificado es el nombre habitual del certificado que se puede identificar mediante el comando pkgadm listcert. Por ejemplo, este comando suprime un certificado de confianza de nombre Trusted CA Cert 1:


$ pkgadm removecert -n "Trusted CA Cert 1"

Nota –

Si tiene un certificado de confianza y un certificado de usuario almacenados con el mismo alias se suprimen cuando especifica la opción -n.