El software de estructura de PKI de nuestra eleccion.
Este manual supone que todo se hace en un solo equipo ( SOLO POR PROBAR)
En esencia Perl y servidores Apache y MySQL - MariaDB o PgSQL.
Las dependencias de perl son fundamentales . Al final hay script de instalacion.
Traiga y descomprima primero el tools .. pero no me compila
tar xvzf openca-base-1.1.1.tgz
Cambiese al directorio. El configure es complicado porque toma muchos parametros. En el directorio configs/examples puede encontrar algunos ejemplos.
Yo hice mi propio .. .. esta en el anexo
Lo estandar es hacer
o cada uno por aparte
para cada servicio
** es necesario crear el usuario openca:openca para intalar
Eato no tiene mayor gracia. Normalmente tambien se proveen paquetes de online y offline solamente. No puede hacerse desmenusado.
https://sourceforge.net/projects/openca/files/openca-base/releases/v1.5.1/binaries/linux/CentOS6.4-x86_64/
Y ahora esta pidiendo el openca-tools y lo mismo se descarga y se instala en /usr/local como prefijo
En una instalacion si lo hace por estandar RPMs los sitios claves son:
Pero si lo hace por nuestro scripts .. queda en
Dirijase al los howtos de MySQL - MariaDB o PostgreSQL para crear una base de datos y un usuario con contraseña para ella.
Configurelo en config.xml y en database/DBI.conf
** Puede no usar ldap .. y todo guardarlo en la BD
Es una configuracion estandar de LDAP, pero debe ser consistente con la informacion que tiene la configuracion de openssl.
CN=Laboratorio CA AzuanTech, OU=LabCA,O=AzuanTech CA,C=CO
Entonces se agrega la raiz .. en inicio.ldiff pongo
dn: o=AzuanTech CA,c=CO
objectclass: top
objectclass: organization
o: AzuanTech CA
y lo agrego con
#> ldapadd -x -D “cn=Manager,o=AzuanTech CA,c=CO” -W -f inicio.ldif
En el directorio /usr/local/openca-1.1.1/etc/openca/openssl o $PREFIX/etc/openca/openssl tome el archivo openssl.cnf
Este archivo deberia ser parte de la configuracion automatica, pero no funciona. Es necesario tomar el openssl.cnf. template para que no sea sobrescrito.
Cambios:
subjectAltName = pki@labCA.azuan.com
emailAddress = pki@labCA.azuan.com
emailAddress_max = 60
commonName = Laboratorio CA AzuanTech
commonName_max = 64
organizationalUnitName = LabCA
#organizationalUnitName_default = AzuanTech CA User
0.organizationName = Organization Name (eg, company)
0.organizationName_default = AzuanTech CA
countryName = Country Name (2 letter code)
countryName_default = CO
countryName_min = 2
countryName_max = 2
Hay otras cosas en este archivo que vienen heredadas del Configure inicial como
0.organizationName_default = AzuanTech CA
OJO: Este archivo debe ser el mismo en todos los “actores” de la CA: pub, CA, RA, .. etc
OJO2: Mire que aqui esta definiendo la estructura de LDAP: O → OU → CN
El archivo de configuracion maestro esta en $PREFIX/etc/openca/config.xml y ahi toca poner todo lo que sea necesario
Cambios:
<name>default_language</name> <value>es_ES</value>
<name>default_web_password</name> <value>@passwdrootd@</value>
<name>default_web_password</name> <value>passwdroot</value>
<name>send_mail_automatic</name> <value>yes</value>
<name>support_mail_address</name> <value>support@labCA.azuan.com</value>
<name>service_mail_account</name> <value>support@labCA.azuan.com</value>
Y asi sucesivamente, revise LDAP (Si lo usa) y el el acceso al backend de MySQL - MariaDB
Una vez haya completado la configuracion no olvide correr ./configure_etc.sh para que se haga la “difusion” de los cambios y luego reinicie el servicio.
Hay otro archivos que tambien es necesario cambiar en $PREFIX/etc/openca/servers/*.template .. sobretodo el correo electronico.
Haga un link al script de arranque y usselo
ln -s /usr/local/openca-1.1.1/etc/init.d/openca /etc/init.d/
Visite en un navegador la pagina https://labCA/pki/ca o https://labCA/openca/ca para inciar la CA y siga los pasos
Hasta aqui ya esta la CA autonoma pero es bueno generar los otros dos certificados: el del operador de la CA y el de la RA.
Los proceso con ambos servidores son muy similares asi que consideramos el mismo proces
Requiere tener previamente instalado la libreria LibPKI de casa matriz openca.
Descargue los fuentes y descomprima, y use el mismo estandar de configure, make y make install. Si desea puede asignar un prefix=/usr/local/ocpsd-2.0.0 si prefiere
Una vez instalado, el script de arranque esta en PREFIX/etc/init.d como es estandar con openca. Haga un link a /etc/init.d y con chkconfig incluyalo en el sistema de arranque
Toco hacer algunos ajustes en los encabezados para hacerlo compatible con chkconfig.
- Desde la interfaz de la CA puede ir a InicioPKI → Configuracion → Ver Perfiles → Agregar un perfil
- En etc/openca/rbac/roles.xml debe estar
- Los templates correspondientes en etc/openca/openssl/openssl y extfiles (que es copiese uno de los otros)
- Corra el script de actualizacion de configuracion
- Afine lo que sea necesario.
- SSLOptions +StdEnvVars +ExportCertData
http://www.mail-archive.com/openca-users@lists.sourceforge.net/msg10066.html –
hay que reemplazarlos
FIN
==============================================================
ANEXOS
==============================================================
script para configurar
#!/bin/sh
PREFIX=$1
VER=1.1.1
if [ -z “${PREFIX}” ] ; then
PREFIX=/usr/local/openca-${VER}
fi
./configure \\
–prefix=${PREFIX} \\
–with-service-mail-account=“admin@labCA.azuan.com” \\
–with-support-mail-address=“support@labCA.azuan.com” \\
\\
–with-ca-organization=“AzuanTech CA” \\
–with-ca-country=CO \\
\\
–with-openca-user=openca \\
–with-openca-group=openca \\
\\
–with-auth-user=admin \\
–with-auth-password=passwdroot \\
\\
–enable-scep \\
–enable-package-build \\
\\
–with-db-name=openca \\
–with-db-host=localhost \\
–with-db-user=opencausr \\
–with-db-passwd=opencapass \\
–with-db-type=MySQL - MariaDB \\
\\
–with-web-host=labCA.azuan.com \\
–with-httpd-fs-prefix=${PREFIX}/www \\
–with-httpd-user=apache \\
–with-httpd-group=apache \\
\\
–with-htdocs-url-prefix=/pki \\
–with-cgi-url-prefix=/cgi-bin/pki \\
==============================================================
openca.conf (pa que luzca igual que con RPMS)
#offline
ScriptAlias /cgi-bin/pki/batch /usr/local/openca-1.1.1/www/cgi-bin/pki/batch
ScriptAlias /cgi-bin/pki/ca /usr/local/openca-1.1.1/www/cgi-bin/pki/ca
Alias /pki/batch /usr/local/openca-1.1.1/www/html/pki/batch
Alias /pki/ca /usr/local/openca-1.1.1/www/html/pki/ca
#online
ScriptAlias /cgi-bin/pki/ra /usr/local/openca-1.1.1/www/cgi-bin/pki/ra
ScriptAlias /cgi-bin/pki/pub /usr/local/openca-1.1.1/www/cgi-bin/pki/pub
ScriptAlias /cgi-bin/pki/ldap /usr/local/openca-1.1.1/www/cgi-bin/pki/ldap
ScriptAlias /cgi-bin/pki/scep /usr/local/openca-1.1.1/www/cgi-bin/pki/scep
Alias /pki/ra /usr/local/openca-1.1.1/www/html/pki/ra
Alias /pki/pub /usr/local/openca-1.1.1/www/html/pki/pub
Alias /pki/ldap /usr/local/openca-1.1.1/www/html/pki/ldap
15-Enero-2010 J.E.Gomez v1.0 Primera version
Advertencia
Este documento es privado y es de u so exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.