Create a Certificate Authority and Certificates with OpenSSL

Note: This is a recipe to help me next time I need to create a CA

  • Install OpenSSL: sudo apt-get install openssl
  • Create folders certs, conf and private wherever you are gonna have your CA
  • Create a database to keep track of the certificates that you issue [echo '01' >serial ; touch index.txt]
  • Create the configuration file in conf/caconfig.cnf
#
# OpenSSL configuration file.
#
# Establish working directory.

dir = /the_directory_where_you_save_the_ca_files					= .

[ ca ]
default_ca				= CA_default

[ CA_default ]
serial					= $dir/serial
database				= $dir/certindex.txt
new_certs_dir				= $dir/certs
certificate				= $dir/cacert.pem
private_key				= $dir/private/cakey.pem
default_days				= 365
default_md				= md5
preserve				= no
email_in_dn				= no
nameopt					= default_ca
certopt					= default_ca
policy					= policy_match

[ policy_match ]
countryName				= match
stateOrProvinceName			= match
organizationName			= match
organizationalUnitName			= optional
commonName				= supplied
emailAddress				= optional

[ req ]
default_bits				= 1024			# Size of keys
default_keyfile				= key.pem		# name of generated keys
default_md				= md5				# message digest algorithm
string_mask				= nombstr		# permitted characters
distinguished_name			= req_distinguished_name
req_extensions				= v3_req

[ req_distinguished_name ]
# Variable name				Prompt string
#-------------------------	  ----------------------------------
0.organizationName			= Organization Name (company)
organizationalUnitName			= Organizational Unit Name (department, division)
emailAddress				= Email Address
emailAddress_max			= 40
localityName				= Locality Name (city, district)
stateOrProvinceName			= State or Province Name (full name)
countryName				= Country Name (2 letter code)
countryName_min				= 2
countryName_max				= 2
commonName				= Common Name (hostname, IP, or your name)
commonName_max				= 64

# Default values for the above, for consistency and less typing.
# Variable name				Value
#------------------------	  ------------------------------
0.organizationName_default		= My Company
localityName_default			= My Town
stateOrProvinceName_default		= State or Providence
countryName_default			= US

[ v3_ca ]
basicConstraints			= CA:TRUE
subjectKeyIdentifier			= hash
authorityKeyIdentifier			= keyid:always,issuer:always

[ v3_req ]
basicConstraints			= CA:FALSE
subjectKeyIdentifier			= hash
  • Generate CA Key and Certificate [openssl req -new -x509 -extensions v3_ca -keyout private/cakey.pem -out cacert.pem -days 365 -config conf/caconfig.cnf]
References

Desarrollando América

El 3 y 4 de Diciembre estuvimos firmes en el primer hackaton en Uruguay de Desarrollando America. La idea fue en día y medio armar una aplicación web que usara datos públicos. Resolver problemas sociales con soluciones tecnicas. Es una experiencia que ha resultado ser muy buena en otras partes del mundo pero en Uruguay me quedaba la duda si iba a prender. No fue una convocatoria masiva y de la gente que se inscribio vino menos de la mitad. Pero las aplicaciones que surgieron son de muy buena calidad y tienen mucha energia para el futuro. Pueden leer un articulo sobre el fin de semana en el blog de picando código.
Les voy a dejar un resumen de las aplicaciones concursantes.

Gobierno Transparente fue el septimo hijo de los Hijos de Obdulio. Ellos pasaron el fin de semana en un estudio furioso de datos del parlamento uruguayo. Consultaron a los abogados, politologos y periodistas de CAINFO asi como hicieron tweak after tweak de los scripts de scraping de datos del parlamento. Al final con estos datos armaron http://50.116.33.178/hijos/ que aún no está publicado oficialmente para ser usado.

Reporte de Mapas de Accidentes de Transito fue al grano. No le dieron vuelta a los nombres y armaron un grupo entre los que no tenian grupo. De cualquier forma la aplicación de ellos tomo un dataset bastante limpito (el de accidentes de transito de IMM) y con google maps lo visualizaron en el mapa de Montevideo. Le agregaron unos filtros y listo. Ahi tienen http://www.cobalys.com/dal/

Y luego estaban los maldonenses de Moñita Azul que llamaron a su aplicación Moña Azul para no tener problemas de copyright con la revista uruguaya del mismo nombre. La aplicación de ellos buscaba meterse en un tema bastante candente en la sociedad uruguaya: la educación. Tomo números de recursos invertidos y resultados obtenidos para graficarlos e intentar sacar pistas de por donde resolver las cosas. La pueden ver en http://dal.picandocodigo.org

También tuvimos a el programador solitario con su aplicación que no tenia ningún fin social especifico sino buscaba hacer más facil la vida a gente que quiere intersectar dos datasets. Tiene una interfase muy limpia y funciona bien prolijamente. Se llama datapipe y la info está en http://desarrollandoamerica.org/2011/12/datapipe/

Desarrollando America en el Día del Futuro

La Diaria y el concurso Desarrollando América Latina los invitan a participar este lunes 14 de noviembre a las 18hrs de dos horas de conferencias sobre Datos Abiertos.

Expondrán miembros del equipo de desarrollo de datos abiertos de Intendencia de Montevideo, quienes contarán sus experiencias en el camino recorrido en la materia, y los retos para el futuro.

Cerrará el evento Evan Henshaw presentando el concurso Desarrollando América Latina, que promueve el desarrollo simultaneo en 6 países de la región de aplicaciones informáticas novedosas que ayuden a resolver los problemas de la sociedad. Durante la presentación se despejarán dudas sobre el concurso que tendrá lugar el próximo 3 y 4 de diciembre durante 30 horas consecutivas.

Las conferencias tendrán lugar este lunes 14 de noviembre, en el Museo Nacional de Artes Visuales, Tomás Giribaldi 2283 esq. Julio Herrera y Reissig – Parque Rodó, a partir de las 18hs.

Por más información contactarse con la organización de Desarrollando América Latina al correo dal.uruguay@gmail.com

Invitan: Desarrollando América Latina, La Diaria, Cubox SA, Intendencia de Montevideo, AGESIC, Museo Nacional de Artes Visuales.

Cómo llegar: http://www.mnav.gub.uy/cms.php?id=informacion

Acerca de Datos Abiertos:

Datos abiertos es una tendencia incipiente con gran potencial de desarrollo. Individuos y organizaciones recaban una amplia gama de datos para realizar sus tareas. El Gobierno es particularmente importante en este contexto, por la cantidad de datos que recoge de empresas, de ciudadanos, de gestión, de salud, geográficos y financieros entre otros. En este documento se describen conceptos e ideas base de Datos Abiertos de Gobierno.

Acerca de Desarrollando América Latina

Desarrollando América Latina es la Copa América del desarrollo digital. El 03 y 04 de Diciembre, por 30 horas consecutivas, los mejores desarrolladores web de 6 países latinoamericanos se reunirán en sus respectivos países a trabajar para encontrar soluciones digitales a problemas sociales.