Copia y creación de repositorios de paquetes en Oracle® Solaris 11.2

Salir de la Vista de impresión

Actualización: Septiembre de 2014
 
 

Creación de certificados de cliente utilizados para acceder al repositorio

Después de generar la CA, puede generar certificados de cliente.

Generación de una solicitud de firma de certificado

Para generar un certificado de cliente, genere una solicitud de firma de certificado (CSR). La CSR contiene toda la información necesaria para pasar de forma segura al servidor.

Si sólo desea comprobar si el cliente posee un certificado válido emitido por usted, no necesita volver a codificar ninguna información. Cuando el cliente presenta su certificado al servidor, el servidor valida el certificado con la CA y verifica si el certificado de cliente fue generado por usted. Sin embargo, SSL requiere un subject para la CSR. Si no necesita transferir ninguna otra información al servidor, puede configurar subject con el país en el que se ha emitido el certificado. Por ejemplo, podría establecer el asunto subject como C=US.

Una buena práctica es codificar el nombre de usuario del cliente en el certificado para permitir al servidor identificar el cliente. El nombre de usuario es el nombre del usuario al que se concede acceso al repositorio. Puede utilizar el CN para este fin. Especifique una etiqueta para esta CSR para poder buscar y extraer la clave para el certificado final como se describe en Extracción de la clave de certificado.

Utilice el siguiente comando para generar la CSR:

$ pktool gencsr subject="C=US,CN=username" label=label format=pem \
outcsr=cert.csr

Utilice el siguiente comando OpenSSL para inspeccionar la CSR en el archivo cert.csr.

$ openssl req -text -in cert.csr

Firma de la CSR

La CSR debe estar firmada por la CA para crear un certificado. Para firmar la CSR, proporcione la siguiente información:

  • Defina el issuer del certificado con la misma cadena que utilizó para el subject cuando creó la CA con el comando gencert, como se muestra en Creación de una autoridad de certificación para certificados de cliente.

  • Defina un número de serie hexadecimal. En este ejemplo, el número de serie de la CA se ha especificado como 0x01, de modo que al certificado de cliente se le debe asignar el número de serie 0x02. Incremente el número de serie para cada nuevo certificado de cliente que genere.

    Cada CA y sus certificados de cliente descendientes tienen su propio conjunto de números de serie. Si tiene varias CA configuradas en el almacén de claves, tenga cuidado de definir correctamente los números de serie del certificado de cliente.

  • Defina el signkey con la etiqueta de la CA en el almacén de claves.

  • Defina outcert con el nombre del archivo de certificado. Una buena práctica es nombrar el certificado y la clave como el repositorio al que se va a acceder.

Utilice el siguiente comando para firmar la CSR:

$ pktool signcsr signkey=CAlabel csr=cert.csr  \
serial=0x02 outcert=reponame.crt.pem issuer="CN=name"

El certificado se crea en el archivo reponame.crt.pem. Utilice el siguiente comando OpenSSL para inspeccionar el certificado:

$ openssl x509 -text -in reponame.crt.pem

Extracción de la clave de certificado

Extraiga la clave para este certificado del almacén de claves. Establezca label con el mismo valor de la etiqueta al ejecutar gencsr para generar la CSR en Generación de una solicitud de firma de certificado. Utilice el siguiente comando para exportar la clave del almacén de claves:

$ pktool export objtype=key label=label outformat=pem \
outfile=reponame.key.pem

Transfiera el certificado y la clave a los sistemas cliente que necesitan acceder al repositorio protegido por SSL.

Activación de los sistemas cliente para acceder al repositorio protegido

Para acceder al repositorio protegido por SSL, los sistemas cliente deben tener una copia del certificado y la clave y deben especificar el certificado y la clave en la configuración del editor.

Copie el certificado (reponame.crt.pem) y la clave (reponame.key.pem) para cada sistema cliente. Por ejemplo, puede copiarlos en el directorio /var/pkg/ssl en cada cliente.

Utilice el siguiente comando para especificar la clave y el certificado generados en la configuración del editor:

$ pkg set-publisher -k reponame.key.pem -c reponame.crt.pem \
-p https://repolocation

Tenga en cuenta que la autenticación SSL sólo se admite para las URI del repositorio HTTPS. No se admite la autenticación SSL para las URI del repositorio de archivo.