Seguridad.pdf ¿Qué es la criptografía? ¿Y el criptoanálisis? ¿Y la criptología? ¿Qué aplicaciones tiene la criptografía? ¿Qué es la encriptación o cifrado de la información? ¿Y la desencriptación o descifrado? ¿Cuáles son los principios criptográficos? ¿Qué es la criptografía simétrica, cuál es su funcionamiento y qué inconvenientes tiene? ¿Qué alternativas existen para solucionar los problemas de la criptografía simétrica? ¿Qué es la criptografía asimétrica, cuál es su funcionamiento y qué ventajas tiene? ¿Por qué es mejor usar criptografía asimétrica que simétrica? ¿Qué es una función hash y para qué se usa principalmente? ¿Qué es una firma digital? ¿Qué es un certificado digital? ¿Qué es una entidad certificadora? ¿Qué protocolos seguros de comunicaciones o protocolos criptográficos existen? ¿Qué es SSL? ¿Y TLS? ¿A qué capa del modelo TCP/IP pertenecen dichos protocolos y cuál capa del modelo OSI? ¿Cuántos y qué protocolos de la capa de aplicación que se puedan beneficiar de SSL y/o TSL? ¿Cómo funciona el protocolo SSL/TLS? ¿Cuál es la idea principal de HTTPS? ¿Qué es el protocolo SSH y cómo funciona?
JCA. Encripta y desencripta un texto en DES (simétrico) y encripta y desencripta un texto en RSA (asimétrico) usando JCA (pista: usa los ejemplos de código de la unidad).
JSSE. Realiza tres ejercicios de esta relación usando JSSE (pista: SSLServerSocketFactory, SSLServerSocket, SSLSocketFactory y SSLSocket). Material de apoyo: 1, 2, 3.
Crea las siguientes aplicaciones web con Spring Boot, Maven, JDK 11, HTML 5, Thymeleaf y CSS 3:
1. Crea una página que salude con ¡Hola, mundo!
2. Crea un sitio personal con cuatro pestañas: Inicio, Portfolio, CV y Sobre mí.
3. Crea el siguiente formulario y que los datos de dicho formulario se recojan, se validen y se muestren en otra página.
4. Crea una web que calcule el área y la longitud de una circunferencia dado su radio.
5. Crea un informe de salud personal. El usuario introducirá su sexo, edad, altura y peso y al pulsar en Calcular se validarán los datos y se generará un informe de salud con el IMC y el metabolismo basal según la fórmula de la OMS.
6. Consume el siguiente servicio red (que tiene estos recursos y estos ejemplos de rutas) y muestra en una página web:
a) La publicación 10 (/posts/10).
b) Todos los comentarios de la publicación 8 (/posts/8/comments).
c) Todas las publicaciones del usuario 1 (/users/1/posts).
7. Crea un servicio red con API RESTful que proporcione estos recursos: fotos y álbumes (un álbum tiene varias fotos). Los datos se mostrarán en una página web.
8. Crea una página web que muestre varios ejemplos (instancias) del modelo Producto
(id, título, descripción, precio). Los datos estarán almacenado en una base de datos H2.
9. Crea un inventario básico de libros (id, ISBN, título, autor, editorial, edición, año) con las pestañas Inicio (presentación del inventario), Libros (visualización de los libros almacenados) y Añadir (inserción de un libro nuevo). Los datos estarán almacenado en una base de datos H2 o MySQL (elige uno).
10. Crea una tienda CRUD de videojuegos (id, título, desarrolladora, distribuidora, género, año) con las pestañas Inicio (presentación de la tienda), Juegos (juegos almacenados en la tienda), Añadir (inserción de un videojuego), Editar (modificación de los campos de un videojuego determinado), Borrar (eliminación de un videojuego), Sobre nosotros (descripción de la tienda) y Contacto (datos de contacto y localización). Los datos estarán almacenado en una base de datos H2 o MySQL (elige uno).
Actividades de ampliación
11. Crea el juego de piedra, papel y tijera. El usuario elegirá una de esas tres opciones, recibirá una respuesta al azar y comprobará si ha ganado, perdido o empatado. Para jugar, habrá que registrarse como usuario y después iniciar sesión.
12. Crea un inventario sencillo de productos con este modelo (relación uno a varios). Puedes registrarte como usuario cliente pero no como usuario administrador. El administrador, una vez iniciado sesión correctamente, introducirá, mediante formularios, una serie de fabricantes y una serie de productos asociados a dichos fabricantes. El cliente, una vez iniciado sesión correctamente, podrá visualizar los fabricantes y los productos de cada fabricante.
13. Crea un curso sencillo con este modelo (relaciones uno a varios y varios a varios). Puedes registrarte como alumno, como profesor (1234 como clave para poder registrarte como profesor) pero no como administrador. El profesor, una vez iniciado sesión correctamente, introducirá, mediante formularios, las asignaturas que imparte. El alumno, una vez iniciado sesión correctamente, podrá inscribirse en las diferentes asignaturas. El administrador visualizará todo.
14. Realiza estos ejercicios sobre JUnit, tareas, subida de archivos, etc.
15. Realiza un blog con usando Kotlin/Java, H2, JPA y Mustache.
El formato de entrega es el siguiente:
./mvnw spring-boot:run
y entrando en localhost:8080
../mvnw spring-boot:run
y entrará en localhost:8080
Material: tutoriales de Spring Boot.
Curso creado por Manuel Ignacio López Quintero bajo esta licencia.