====== 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. ----