Pràctica 4: Seguretat i criptografia
Autor: Joan Puigcerver Ibáñez
Correu electrònic: j.puigcerveribanez@edu.gva.es
Llicència: CC BY-NC-SA 4.0
(Reconeixement - NoComercial - CompartirIgual) 🅭
Entrega
L'entrega ha de complir els següents requisits:
- Package:
ud4.practices
- El nom de la classe on comença l'execució (
main() ) de cada exercici és el títol de l'exercici.
- El format de la eixida del programa ha de ser consistent
amb el format demanat.
- S'ha d'entregar un fitxer .zip amb el contingut del package
ud4.practices .
- El codi ha d'estar pujat a GitHub en el vostre repositori de l'assignatura.
- Tag GitHub:
PracticeCrypto (StackOverflow: Create a tag in a GitHub repository)
FileEncryption
- Package:
ud4.practices.fileencryption
Crea la aplicació FileEncryption que permeta crear, llegir i escriure en fitxers encriptats mitjançant l'algorisme AES.
L'aplicació mostrarà un menú del tipus i permetrà a l'usuari realitzar les següents accions:
Benvingut a FileEncryption:
1) Escriure un fitxer
2) Llegir un fitxer
0) Eixir.
L'acció Eixir acabarà el programa.
Advertència
El codi ha d'estar ben estructurat en mètodes i classes.
Escriure un fitxer
L'usuari indicarà la ruta del fitxer on vol guardar la informació i comprovarà si el fitxer existeix.
- Si existeix, preguntarà a l'usuari per la confirmació per ser sobreescrit. Si no ho confirma, torna al menu principal.
Li demanarà a l'usuari una contrasenya i crearà una SecretKey a partir d'ella.
El programa demanarà a l'usuari que escriga per pantalla tota la informació
que vol guardar en el fitxer. Deixarà de demanar-li la informació
quan l'usuari escriga una línia amb el contingut \exit .
Finalment, encriptarà tot el contingut
i el guardarà en el fitxer especificat.
Llegir un fitxer
L'usuari indicarà la ruta del fitxer que vol llegir i comprovarà si el fitxer existeix.
- Si no existeix, mostrarà un missatge d'error i tornarà al menú principal.
Li demanarà a l'usuari una contrasenya i crearà una SecretKey a partir
d'ella. Finalment, intentarà desencriptar el fitxer.
Si la desencriptació ha segut satisfactòria, mostrara el contingut del fitxer desencriptat per pantalla.
En altre cas (per exemple, perquè la contrasenya no és l'adequada o el fitxer no estava encriptat), mostrarà un missatge d'error.
SSLSocket : Chat
- Package:
ud4.practices.chat
Adapta el codi de l'aplicació de l'Exercici: Chat
perquè utilitze SSLSockets .
Codi de l'exercici Chat solucionat
Cal generar:
-
KeyStore de ChatServer : Guardar-la al fitxer files/ud4/chat/chat-server.jks .
Indica la comanda utilitzada com a comentari en el moment que es cree el SSLServerSocket en la classe
ChatServer .
Certificat:
Camp |
Valor |
Àlies |
chat-server |
CN |
ChatServer |
OU |
PSP-DAM2S |
O |
CIPFP Mislata |
L |
Mislata |
ST |
València |
C |
ES |
Aquesta informació s'ha de mostrar per pantalla quan inicie el servidor.
-
TrustStore de ChatClient : Guardar-la al fitxer files/ud4/chat/chat-client.jks .
Indica la comanda utilitzada com a comentari en el moment que es cree el SSLServerSocket en la classe
ChatClient .
- Cal importar el certificat del servidor generat anteriorment.
|