All Packages  Class Hierarchy  This Package  Previous  Next  Index

Class it.unipi.di.vserver.SecurityFilter

java.lang.Object
   |
   +----it.unipi.di.vserver.SecurityFilter

public abstract class SecurityFilter
extends Object

Questa classe rappresenta un filtro di sicurezza. Per realizzare un filtro di questo tipo è necessario ridefinire i metodi di questa classe. I metodi attach() permettono di attacarsi allo stream da rendere sicuro (è assicurato che siano al liello più basso nella catena degli stream, subito attaccati al soket) mentre i metodi handshake vengono invocati una volta agganciati gli stream per permettere l'handshake nella connessione. Per i filtri più semplici si suggerisce di usare il FilterInputStream e il FilterOutputStream da estendere per effettuare la connessione. A volte puograve; essere sufficiente ridefinire solo gli handshake non richiedendo cifratura del canale. L'handshake è il momento ideale in cui scambiarsi le chiavi per realizzare un canale sicuro.

Version:
1.0
Author:
Antonio Cisternino

Variable Index

 o cleanIn
Stream passato ad attach().
 o cleanOut
Stream passato ad attach().
 o isServerSide
Dice se il filtro di sicurezza è lato server oppure lato client.

Constructor Index

 o SecurityFilter()

Method Index

 o _attach(InputStream)
Chiama attach(in) dopo aver aggiornato cleanIn;
 o _attach(OutputStream)
Chiama attach(out) dopo aver aggiornato cleanOut;
 o attach(InputStream)
Attacca il filtro di sicurezza all'input stream.
 o attach(OutputStream)
Attacca il filtro di sicurezza all'output stream.
 o clientSideHandshake()
Protocollo handshake lato client.
 o handshake(StatisticInfo)
Chiama la procedura di handshake corretta a seconda che il filtro sia del server oppure del client.
 o newInstance()
Restituisce una nuova istanza del security filter.
 o serverSideHandshake()
Protocollo handshake lato server.
 o setClient()
Dice che il filtro è lato client;
 o setServer()
Dice che il filtro è lato server;

Variables

 o isServerSide
 private boolean isServerSide
Dice se il filtro di sicurezza è lato server oppure lato client.

 o cleanIn
 protected InputStream cleanIn
Stream passato ad attach().

 o cleanOut
 protected OutputStream cleanOut
Stream passato ad attach().

Constructors

 o SecurityFilter
 public SecurityFilter()

Methods

 o _attach
 InputStream _attach(InputStream in)
Chiama attach(in) dopo aver aggiornato cleanIn;

Parameters:
in - Stream da filtrare
Returns:
attach(in)
 o _attach
 OutputStream _attach(OutputStream out)
Chiama attach(out) dopo aver aggiornato cleanOut;

Parameters:
in - Stream da filtrare
Returns:
attach(out)
 o attach
 protected InputStream attach(InputStream in)
Attacca il filtro di sicurezza all'input stream. Per default restituisce lo stream passato come parametro e inizializza il membro in.

Parameters:
in - Stream da filtrare
Returns:
Stream filtrato
 o attach
 protected OutputStream attach(OutputStream out)
Attacca il filtro di sicurezza all'output stream. Per default restituisce lo stream passato come parametro e inizializza il membro out.

Parameters:
out - Stream da filtrare
Returns:
Stream filtrato
 o serverSideHandshake
 protected abstract boolean serverSideHandshake() throws IOException
Protocollo handshake lato server.

Returns:
true se ha avuto esito positivo.
Throws: Errore
di comunicazione nel canale.
 o clientSideHandshake
 protected abstract boolean clientSideHandshake() throws IOException
Protocollo handshake lato client.

Returns:
true se ha avuto esito positivo.
Throws: Errore
di comunicazione nel canale.
 o handshake
 boolean handshake(StatisticInfo info) throws IOException
Chiama la procedura di handshake corretta a seconda che il filtro sia del server oppure del client.

Returns:
true se l'handshake ha avuto esito positivo.
 o setServer
 void setServer()
Dice che il filtro è lato server;

 o setClient
 void setClient()
Dice che il filtro è lato client;

 o newInstance
 public abstract SecurityFilter newInstance()
Restituisce una nuova istanza del security filter. Viene invocato dalla classe Server quando viene accettato un cliente.


All Packages  Class Hierarchy  This Package  Previous  Next  Index