====== Entidad de Certificacion - openCA ======
===== Descripción =====
El software de estructura de PKI de nuestra eleccion.\\
\\
Este manual supone que todo se hace en un solo equipo ( SOLO POR PROBAR)
===== Prerequistos =====
En esencia Perl y servidores Apache y MySQL - MariaDB o PgSQL.\\
\\
Las dependencias de perl son fundamentales . Al final hay script de instalacion.
===== Instalación desde TGZ =====
==== 1. Descarguelo ====
Traiga y descomprima primero el tools .. pero no me compila\\
\\
tar xvzf openca-base-1.1.1.tgz
==== 2. Configure ====
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
==== 3 Compile e instale ====
Lo estandar es hacer
* #> make
* #> make install-offline
* #> make install-online
o cada uno por aparte
* #> make install-pub
* #> make install-ca .. etc
para cada servicio\\
\\
%%**%% es necesario crear el usuario openca:openca para intalar
===== Instalación desde RPM =====
==== 1. Descargue e instale ====
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
===== Configuración =====
En una instalacion si lo hace por estandar RPMs los sitios claves son:
* /var/www/html/pki : Sitio de acceso web
* /var/www/cgi-bin/pki: Sitio donde realmente estan los scripts en perl que constituyen la CA
* /usr/local/openca-1.5.1: Sistema base. Aqui estan los almacenamientos, las configuraciones y demas
Pero si lo hace por nuestro scripts .. queda en
* /usr/local/openca-1.5.1/www/html : Sitio de acceso web
* /usr/local/openca-1.5.1/www/cgi-bin: Sitio donde realmente estan los scripts en perl que constituyen la CA
* /usr/local/openca-1.5.1: Sistema base. Aqui estan los almacenamientos, las configuraciones y demas
==== 1. Backend de BD ====
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
==== 2. Backend LDAP ====
%%**%% 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.
* commonName = Laboratorio CA AzuanTech
* organizationalUnitName = LabCA
* 0.organizationName = AzuanTech CA
* countryName_default = CO
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\\
==== 3. Configuracion de OpenSSL ====
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
==== 4. Configuracion de la CA ( o sus nodos) ====
El archivo de configuracion maestro esta en $PREFIX/etc/openca/config.xml y ahi toca poner todo lo que sea necesario
**Cambios:**
default_language es_ES
default_web_password @passwdrootd@
default_web_password passwdroot
send_mail_automatic yes
support_mail_address support@labCA.azuan.com
service_mail_account support@labCA.azuan.com
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.
==== 5. Inicio CA ====
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
* Inicializar la BD
* Crear el par de llaves (queda en $PREFIX/var/openca/crypto/keys)
* Crear la solicitud de firma PCS#10 (OJO: hay que ser consistente con la estructura que se esta usando con LDAP)
* Autofirmar el certificado
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.
===== OCPS y PRQP =====
Los proceso con ambos servidores son muy similares asi que consideramos el mismo proces
==== 1. Instalation ====
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.
==== 2. Configuracion ====
===== PRQP =====
==== 1. Instalacion ====
==== 2. Configuracion ====
===== Trucos =====
==== 1. Como agrego un template de un Certificado ====
- 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.
===== Problemas =====
==== 1. Aborting connection - you are using a too short symmetric keylength ====
- SSLOptions +StdEnvVars +ExportCertData
http:%%//%%www.mail-archive.com/openca-users@lists.sourceforge.net/msg10066.html --
===== Referencias =====
==== 1. hay un problema con User.pm e InitServer ====
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.
----