vscode

Según la versión del Sistema Operativo (Linux/Windows 32/64bits) que tengamos procederemos a instalar la versión de Visual Studio Code correspondiente, que podemos descargar de https://code.visualstudio.com/updates

  • code-stable-code_1.25.1-1531323780_i386.tar.gz (Linux 32 bits)
  • code-stable-code_1.25.1-1531323788_amd64.tar.gz (Linux 64 bits)
  • VSCode-win32-ia32-1.25.1.zip (Windows 32 bits)
  • VSCode-win32-x64-1.25.1.zip (Windows 64 bits)

NOTA: Si no está ya instalado en Linux, será necesario instalar el paquete libgconf-2-4 (error while loading shared libraries: libgconf-2.so.4: cannot open shared object file: No such file or directory)

La instalación consiste en descomprimir el fichero correspondiente en la ubicación deseada (por ejemplo /home/username/software/VSCode-linux-x64-1.25.1 donde username es el nombre del usuario para Linux ó C:\software\VSCode-win32-x64-1.25.1 para Windows).

Lee el resto de esta entrada »

Anuncios

nodejs
Según la versión del Sistema Operativo (Linux/Windows 32/64bits) que tengamos y de las necesidades concretas del proyecto (versión concreta de NodeJS), procederemos a instalar la versión de NodeJS correspondiente, que podemos descargar de https://nodejs.org/en/download/releases/:

  • node-v8.11.3-linux-x86.tar.xz (Linux 32 bits)
  • node-v8.11.3-linux-x64.tar.xz (Linux 64 bits)
  • node-v8.11.3-win-x86.zip (Windows 32 bits)
  • node-v8.11.3-win-x64.zip (Windows 64 bits)

La instalación consiste en descomprimir el fichero correspondiente en la ubicación deseada (por ejemplo /home/username/software/node-v8.11.3-linux-x64 donde username es el nombre del usuario para Linux ó C:\software\node-v8.11.3-win-x64 para Windows).

Una vez instalado NodeJS, para poder utilizarlo desde la línea de comandos, debemos añadir al PATH de ejecución, la ruta de los ejecutables (node y npm).

En Linux sería algo así (podemos añadirlo al fichero ~/.profile para que sea permanente):

export PATH=/home/username/software/node-v8.11.3-linux-x64/bin:$PATH

En Windows sería algo así (podemos establecer su valor en MyComputer->Properties->Advanced->Env Variables->Path para que sea permanente):

set PATH=C:\software\node-v8.11.3-win-x64;%PATH%

Lee el resto de esta entrada »

¿Qué es el Spring I/O?

logo-spring-io Se trata de la conferencia europea líder centrada en el ecosistema del Framework Spring.

Esta 7ª edición del Spring I/O tuvo lugar el 24 y 25 de Mayo en el Palau de Congressos de Barcelona.

Historia del Evento:

  • 2010 Spring 2GX Day en la EPS de la Universidad CEU San Pablo de Madrid
  • 2010 Spring I/O en el Instituto Tecnológico de Estudios Superiores de Monterrey de Ciudad de México
  • 2011 Spring I/O en la EPS de la Universidad CEU San Pablo de Madrid
  • 2012 Spring I/O en la EPS de la Universidad CEU San Pablo de Madrid
  • 2015 Spring I/O en el AXA Auditorium de Barcelona
  • 2016 Spring I/O en el AXA Auditorium de Barcelona
  • 2017 Spring I/O en el AXA Auditorium de Barcelona
  • 2018 Spring I/O en el Palau de Congressos de Barcelona

Lee el resto de esta entrada »

Estructura general

svn

  • En el trunk avanza el desarrollo de las nuevas versiones (1.0.0-SNAPSHOT).
  • En un momento dado se da por finalizado el desarrollo de dicha versión.
  • A partir de este estado se crea una rama para el mantenimiento de dicha versión (1.0.x).
  • En el trunk se actualiza la versión para que pueda comenzar la nueva iteración de desarrollo con nueva funcionalidad (1.1.0-SNAPSHOT).
  • En la rama se fija el número de versión final (1.0.0).
  • Una vez fijado el número de versión, se etiqueta (1.0.0) y esta versión será susceptible de ser instalada.
  • Una vez etiquetada la versión (1.0.0), en la rama de mantenimiento, se actualiza el número de versión para el desarrollo de los posibles correctivos (1.0.1-SNAPSHOT).
  • En cierto momento, se aplican cambios correctivos y se decide que la versión de mantenimiento está lista.
  • En ese momento se fija el nuevo número de versión (1.0.1).
  • A partir de este estado se etiqueta la versión (1.0.1).
  • Una vez etiquetada la versión (1.0.1) se actualiza el número de versión de desarrollo del mantenimiento (1.0.2-SNAPSHOT).
  • El proceso se repite tantas veces como sea necesario.

Lee el resto de esta entrada »


Requisitos:

  • Tener instalado OpenSSL 1.0
  • Tener instalado la JDK 1.8

Creación de una Autoridad Certificadora:

  1. Genera clave privada de la CA
    openssl genrsa -des3 -out private/ca-private.key 2048
  2. Generar una petición de certificado para la propia CA
    openssl req -new -key private/ca-private.key -out ca.csr -subj "/C=ES/ST=Asturias/L=Siero/O=RuBeNsA/OU=Departamento Seguridad/CN=rubensa.eu.org"
  3. Generar el certificado de la CA firmado por la propia CA
    openssl x509 -signkey private/ca-private.key -req -days 3650 -in ca.csr -out public/ca.crt

Creación de un certificado de servidor:

  1. Crear un almacén de claves con la clave privada del servidor
    keytool -genkeypair -keystore private/server.p12 -storetype PKCS12 -alias server -keyalg RSA -keysize 2048 -dname "CN=rubensa.eu.org,OU=Departamento Seguridad,O=RuBeNsA,L=Siero,S=Asturias,C=ES" -ext san=dns:rubensa.eu.org,dns:localhost,ip:127.0.0.1
  2. Generar una petición de certificado
    keytool -certreq -alias server -keystore private/server.p12 -storetype PKCS12 -file server.csr
  3. Generar un certificado firmado por la CA (si existe previamente el fichero “serial.txt” eliminar -CAcreateserial)
    openssl x509 -req -days 365 -in server.csr -CA public/ca.crt -CAkey private/ca-private.key -CAcreateserial -CAserial serial.txt -out public/server.crt
  4. Importar el certificado de la CA en el almacén de claves del servidor
    keytool -import -alias CA -file public/ca.crt -keystore private/server.p12 -storetype PKCS12
  5. Importar el certificado firmado del servidor en el almacén de claves
    keytool -import -alias server -file public/server.crt -keystore private/server.p12 -storetype PKCS12
  6. Exportar la clave privada del servidor
    openssl pkcs12 -in private/server.p12 -nodes -nocerts -out private/server-private.key
  7. Exportar la clave pública del servidor
    openssl rsa -in private/server-private.key -pubout > public/server-public.key

Creación de un certificado de cliente (con estructura de DNI electrónico):

  1. Generar la clave privada del cliente
    openssl genrsa -des3 -out private/client-private.key 2048
  2. Crear un fichero “dnie.cnf” con el siguiente contenido

    [ req ]
    distinguished_name = req_distinguished_name

    [ req_distinguished_name ]
    countryName = Pais (2 letras)
    countryName_default = ES
    countryName_min = 2
    countryName_max = 2

    commonName = Apellido1 Apellido2, Nombre (AUTENTICACIÓN|FIRMA)
    commonName_max = 64

    givenName = Nombre

    surname = Apellido1

    serialNumber = NNNNNNNNA (número de DNI con letra)
    serialNumber_min = 9
    serialNumber_max = 9

  3. Generar una petición de certificado
    openssl req -config dnie.cnf -new -key private/client-private.key -out client.csr
  4. Generar un certificado firmado por la CA (si no existe previamente el fichero “serial.txt” añadir -CAcreateserial)
    openssl x509 -req -days 365 -in client.csr -CA public/ca.crt -CAkey private/ca-private.key -CAserial serial.txt -out public/client.crt
  5. Generar un fichero pkcs12 para importar el certificado en el navegador
    openssl pkcs12 -export -clcerts -in public/client.crt -inkey private/client-private.key -out private/client.p12 -name "client"

Creación de un truststore (un almacén de claves en el que ir guardar los certificados en los que el servidor “confía”):

  1. Crear un keystore
  2. Importar el certificado del CA (de tal modo que cualquier certificado de cliente firmado por la CA sea válido)
    keytool -importcert -alias CA -file public/ca.crt -keystore private/truststore.p12 -storetype PKCS12 -keyalg RSA -keysize 2048

Nota: Para poder consultar los certificados existentes en un keystore podemos utilizar el siguiente comando
keytool -v -list -keystore private/server.p12 -storetype PKCS12

Algunos enlaces de interés
Receta para la creación de certificados de prueba desde cero
Steps to generate self-signed PKCS#12 SSL certificate and export its keys


Aprender JavaScript moderno es como si desde el principio no hubieses estado ahí. El ecosistema está creciendo y cambiando tan rápidamente que es difícil comprender los problemas que las diferentes herramientas están tratando de resolver.

El objetivo de este artículo es proporcionar un contexto histórico de cómo han evolucionado las herramientas JavaScript hasta lo que son hoy, en 2017. Empezaremos desde el principio, construyendo un sitio web de ejemplo como lo hacían los dinosaurios – sin herramientas, solamente HTML plano y JavaScript. Posteriormente iremos introduciendo diferentes herramientas, una a una, de manera incremental para ver los problemas que resuelven. Con este contexto histórico, podrás adaptarte mejor al siempre cambiante ecosistema JavaScript. ¡Empecemos!

Lee el resto de esta entrada »

spring-by-pivotal
Hay muchos conceptos básicos en el Framework Spring que pueden resultar confusos. Uno de ellos es la configuración basada en Java. A continuación encontrarás una descripción condensada de cómo declarar beans usando la configuración en Java.

Ten en cuenta que esta entrada no cubre las dependencias entre beans de diferentes ámbitos ni cubre anotaciones como @Component, @Service, @Repository, etc., que a menudo son una buena alternativa a lo aquí descrito.

Lee el resto de esta entrada »

A %d blogueros les gusta esto: