kerberos.tutorial
Class TutorialZieldienst
java.lang.Object
kerberos.tutorial.TutorialZieldienst
- public class TutorialZieldienst
- extends java.lang.Object
In diesem Mini-Tutorial wird zusammen mit der Klasse kerberos.tutorial.TutorialClient und
kerberos.tutorial.TutorialDienstThread erklärt,
wie die Kommunikation mit den Kerberos-Klassen funktioniert.
Für dieses Tutorial ist es exrem vorteilhaft, wenn man weiß, wie java.net.ServerSocket und java.net.Socket
funktionieren. Wie Kerberos an sich funktioniert, wird hier ebenfalls nicht erklärt, sondern nur, wie
man diese Implementation nutzt.
Diese Klasse stellt einen Server dar, der Anfragen von Clients entgegen nimmt, die übertragenen
Bytes als String anzeigt und dann ein paar Zeichen an den anfragenden Client zurückschickt.
Um über Kerberos zu kommunizieren, erzeugt man auf der Serverseite einen
kerberos.net.IKerberosServerSocket..
Dieser wartet wie ein normaler ServerSocket auf Verbindungen
(Methode accept()) und gibt
bei der Anfrage eines Clients einen IKerberosSocket
zurück, entsprechend einem normalen java.net.Socket.
Auf der Client-Seite wird eine kerberos.net.IKerberosClientSocketFactory erzeugt. Diese speichert z.B. die
Schlüssel zum Verschlüsseln der Verbindung zum Ticket-Granting-Service des KDC. Mit Hilfe der Methode
IKerberosClientSocketFactory.connect(String host, int ziel, String Zieldienst) wird eine Verbindung zu
dem angegebenen Zieldienst auf dem angegebenen Host aufgebaut. Die Verbindung wird dabei verschlüsselt und
authentifiziert durchgeführt.
Die Erzeugung vom kerberos.net.IKerberosServerSocket und der kerberos.net.KerberosClientSocketFactory
kann von der kerberos.net.KerberosFactory übernommen werden.
Was die einzelnen Methoden genau bewirken, wird in den jeweiligen javadocs erklärt.
- Author:
- Stephan Koops
- See Also:
KerberosServerSocket
,
KerberosSocket
,
KerberosClientSocketFactory
,
KerberosFactory
,
TutorialDienstThread
,
TutorialClient
,
ServerSocket
,
Socket
Field Summary |
static int |
PORT
|
Method Summary |
static void |
main(java.lang.String[] args)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
PORT
public static final int PORT
- See Also:
- Constant Field Values
TutorialZieldienst
public TutorialZieldienst()
main
public static void main(java.lang.String[] args)
throws java.lang.Exception
- Throws:
java.lang.Exception