viernes, junio 08, 2007

OpenCA

Pues bien debido al trabajo final de una materia (cti3) debo manejar una entidad certificadora, en este caso el software a usar será OpenCA que gracias al dios de la pasta y a mi profesor (fue él el que la sugirió) es GPL, pues bien la idea es instalar openca, probar que este generando certificados, y lograr cuadrar una comunicacion que use estas certificaciones me imagino que nos tocará hacer alguna mini aplicacion web que use esto...

Lo primero es la instalacion de openca, pues como era de esperarse lo quiero hacer en debian :), y por hay me encontré un mini-howto para hacerlo, lo subo a este blog por si despues no encuentro el enlace y declaro que NO es de mi autoria sino de Rodrigo Daniel Roldán...

Aca esta el tutorial sacado de http://lanux.org.ar/pipermail/lista_lanux.org.ar/2006-July/002724.html

On 7/13/06, Roldyx <rroldan en drim.com.ar> wrote:
>
> Che si alguien quiere puede subir este documento a la wikipedia.
> Saludos. Roldyx.
>
> OpenCA en Debian (Por Roldyx)
>
> Que es OpenCA?
> OpenCA es una herramienta que proporciona un interface Web para poder
> administrar una Infraestructura de Clave Pública(PKI).
> http://es.wikipedia.org/wiki/PKI
> Componentes de OpenCA
> Una interface web creado en Perl.
> Openssl para operaciones criptográficas.
> Una base de datos.
>
> *Particularmente utilizaré Mysql como motor de Base de Datos.
> Software a Instalar
> *****Instalación de herramientas para la compilación*****
> apt-get install g++ gcc make
> *****Instalación de Perl y modulos necesarios*****
> apt-get install libxml-perl libxml-regexp-perl libdbi-perl perl
> perl-modules
> libldap2 libldap2-dev libdbd-mysql-perl libauthen-sasl-perl
> libcgi-session-perl libconvert-asn1-perl libdigest-md2-perl
> libdigest-md4-perl libdigest-sha1-perl libio-socket-ssl-perl
> libio-stringy-perl libmime-lite-perl libmime-perl libmailtools-perl
> libnet-server-perl liburi-perl libxml-twig-perl libintl-perl
> libnet-ldap-perl
> *****Instalación de Apache Web Server*****
> apt-get install libapache-mod-perl libapache-mod-ssl
> apt-get install apache
> dpkg-reconfigure apache
> *****Instalación de Openssl*****
> apt-get install openssl libssl-dev
>
> Instalación del OpenCA
> Descargamos el software de OpenCA Download http://www.openca.org/
> Es un archivo .tar.gz
> #cd /usr/src
> #tar xvfz openca-0.9.2.5.tar.gz
> #cd OpenCA-0.9.2.5
> #touch config_ra
> #touch config_ca
> y le damos permisos de ejecución
> #chmod 755 config_ra
> #chmod 755 config_ca
>
> Ahora editamos config_ra y copiamos y pegamos lo que esta a continuación
>
> #!/bin/sh
> make distclean
> ./configure \
> --prefix=/usr/local/openca \
> --with-web-host=localhost \
> --with-httpd-user=www-data \
> --with-httpd-group=www-data \
> --with-ext-prefix=/usr/local/openca.0.9.2 \
> --with-htdocs-fs-prefix=/var/www/ \
> --with-cgi-fs-prefix=/usr/lib/cgi-bin \
> --with-ca-organization="X-Tech" \
> --with-ca-locality="Capital Federal" \
> --with-ca-country="AR" \
> --with-module-prefix=/usr/local/openca/modules \
> --enable-dbi \
> --disable-db \
> --disable-rbac \
> --with-hierarchy-level=ra \
> --with-service-mail-account="root en localhost" \
> --with-db-type=mysql \
> --with-db-name=openca \
> --with-db-host=localhost \
> --with-db-port=3306 \
> --with-db-user=openca \
> --with-db-passwd="openca"
> make
> make install-ra
> make install-pub
> make install-node
>
> Grabamos los datos y ejecutamos
> #./config_ca
>
> Ahora editamos config_ca y copiamos y pegamos lo que esta a continuación
>
> #!/bin/sh
> ./configure \
> --prefix=/usr/local/openca \
> --with-web-host=localhost \
> --with-httpd-user=www-data \
> --with-httpd-group=www-data \
> --with-ext-prefix=/usr/local/openca.0.9.2 \
> --with-htdocs-fs-prefix=/var/www/htdocs/ \
> --with-cgi-fs-prefix=/usr/lib/cgi-bin \
> --with-ca-organization="Banco Credicoop" \
> --with-ca-locality="Capital Federal" \
> --with-ca-country="AR" \
> --with-module-prefix=/usr/local/openca/modules \
> --enable-dbi \
> --disable-db \
> --disable-rbac \
> --with-hierarchy-level=ca \
> --with-service-mail-account="root en localhost" \
> --with-dbi-type=mysql \
> --with-dbi-name=openca \
> --with-dbi-host=localhost \
> --with-dbi-port=3306 \
> --with-dbi-user=openca \
> --with-dbi-passwd="openca"
> make
> make install-ca
> make install-node
>
> Luego de grabar los datos en el archivo, ejecutamos
> #./config_ca
>
> Bien, si todo funciona como corresponde, ahora deberiamos ejecutar un par
> de
> comandos y listo.
> Configuramos la base de datos.
> #mysql -u root -p
>
> >create database openca;
> >create database openra;
> >grant all privileges on openca.* to openca en localhost identified by
> "openca";
> >grant all privileges on openra.* to openra en localhost identified by
> "openra";
> >exit;
> verificamos la BD
> #mysql -u openca -p
> >use openca;
> >show tables;
> (deberia retornar vacia (empty))
> >exit;
> #mysql -u openra -p
> >use openra;
> >show tables;
> (deberia retornar vacia (empty))
> >exit;
>
> Listo ahora retomamos con la CA...
> #cd /usr/local/openca/OpenCA/etc/
> #./configure_etc.sh
> Este comando modifica los archivos por ejemplo index.html.templates en
> index.html
> Ahora ejecutamos la CA haciendo:
> #./openca_start
> esperamos 3 segundos y listo.
> Instalamos los certificados ssl del apache.
> #mkdir /etc/apache/ssl
> #cd /etc/apache/ssl
> #openssl req -x509 -newkey rsa:2048 -keyout cakey.pem -days 3650 -out
> cacert.pem -nodes
> Con este comando creamos un CA para certificados X509 con algoritmo de
> encriptación rsa de 2048 bytes. Con el -keyout le indicamos que la clave
> privada de nuestra CA se almacene en el fichero cakey.pem y la clave
> publica -out en el cacert.pem.
> Seguidamente nos pedirá un password para nuestra CA y se lo damos. También
> nos
> pedirá una serie de datos por ejemplo país, nombre de empresa, que nos
> identifica como CA.
>
> Ahora vamos por la configuración del Apache Web Server.
>
> Editamos /etc/apache/httpd.conf
> y al final del archivo ponemos
> Listen 443
>
> SSLEngine On
> SSLCertificateFile /etc/apache/ssl/cacert.pem
> SSLCertificateKeyFile /etc/apache/ssl/cakey.pem
>
> Guardamos y reiniciamos el apache
> #/etc/init.d/apache restart
>
> Abrimos un navegador y ponemos https://localhost/
> Y deberiamos ver las carpetas correspondientes a la CA.
> Felicitaciones Enhorabuena has instalado el OpenCA.
>
> login: root
> password: root
>
> Eso es todo!! espero que les haya gustado!!
> Roldyx.
>
> Cualquier cosa roldyx at drim.com.ar
> --
> Rodrigo Daniel Roldán.
> CCNA

No hay comentarios.: