Hallo,
bei meinem kleinen "privaten" Projekt kommt nun die Erstellung des Servers. Die
Anwendung soll mittels RMI im Netz bereitstellen. Um die Sicherheit zu
erhöhen, muss dies Verbindung möglichst sicher gestalltet werden. Somit
kommt nur die Verbindung von RMI + SSL in betracht. Doch wie geht man
dies am besten an, da ich RMI nur vom hören und sagen kenne.
So also,
- es müssen zwei Registry vorhanden sein, da die Protokolle TCP/IP und
UDP verwendet werden sollen
- die Clients müssen sich einer Auth. unterziehen. Damit meine ich, dass
der Client zusätzlich nochmal zwei char[] mit jeweils 256 chars
übermitteln soll. Dies soll sicherstellen, dass sich nur Regestrierte Clients sich mit
dem Server verbinden
- danach soll der angefordete Dienst ausgeführt werden
bei meiner Suche nach vorgefertigten Klassen bin ich auf
javax.rmi.ssl.SslRMIClientSocketFactory und
javax.rmi.ssl.SslRMIServerSocketFactory gestossen. Doch wie kann ich nun
den 2 Punkt erfüllen? Müsste man hierfür jeweils die Klassen
überschreiben oder kann dies auch einfacher gelösst werden? Und wofür
stehen die Parameter für
SslRMIServerS...(enabledCipherSuites, enabledProtocols, port)?
enabledCipherSuites = ?
enabledProtocols = freigegebene Protokolle z.B. "UDP" ?
port = lokaler Port, auf dem die Registry läuft ?
Unter http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html
bin ich auf eine Beschreibung zum erstellen von eigene Sockets und
Factorys gestossen. Hier müsste ich doch dann das Auth.-Verfahren
festlegen können. Gut, da ich in die Methode ServerSocket->accept() die Auth
packen würde, müsste ich noch zwei kleine Fragen stellen.
1.) Darf diese Methode null zurück geben? (Auth. ist fehlgeschlagen)
2.) Wird der Methodenaufruf nur von einem Thread gesteuert oder wird pro
accpet()-Aufruf ein Thread zu verfügung gestellt?
Oder kann ich das beinflussen? Wenn ja, bei welcher Klasse?
Oder habe ich nun die falsche Richtung eingeschlagen?
MfG,
Thomas
bei meinem kleinen "privaten" Projekt kommt nun die Erstellung des Servers. Die
Anwendung soll mittels RMI im Netz bereitstellen. Um die Sicherheit zu
erhöhen, muss dies Verbindung möglichst sicher gestalltet werden. Somit
kommt nur die Verbindung von RMI + SSL in betracht. Doch wie geht man
dies am besten an, da ich RMI nur vom hören und sagen kenne.
So also,
- es müssen zwei Registry vorhanden sein, da die Protokolle TCP/IP und
UDP verwendet werden sollen
- die Clients müssen sich einer Auth. unterziehen. Damit meine ich, dass
der Client zusätzlich nochmal zwei char[] mit jeweils 256 chars
übermitteln soll. Dies soll sicherstellen, dass sich nur Regestrierte Clients sich mit
dem Server verbinden
- danach soll der angefordete Dienst ausgeführt werden
bei meiner Suche nach vorgefertigten Klassen bin ich auf
javax.rmi.ssl.SslRMIClientSocketFactory und
javax.rmi.ssl.SslRMIServerSocketFactory gestossen. Doch wie kann ich nun
den 2 Punkt erfüllen? Müsste man hierfür jeweils die Klassen
überschreiben oder kann dies auch einfacher gelösst werden? Und wofür
stehen die Parameter für
SslRMIServerS...(enabledCipherSuites, enabledProtocols, port)?
enabledCipherSuites = ?
enabledProtocols = freigegebene Protokolle z.B. "UDP" ?
port = lokaler Port, auf dem die Registry läuft ?
Unter http://java.sun.com/j2se/1.5.0/docs/guide/rmi/socketfactory/index.html
bin ich auf eine Beschreibung zum erstellen von eigene Sockets und
Factorys gestossen. Hier müsste ich doch dann das Auth.-Verfahren
festlegen können. Gut, da ich in die Methode ServerSocket->accept() die Auth
packen würde, müsste ich noch zwei kleine Fragen stellen.
1.) Darf diese Methode null zurück geben? (Auth. ist fehlgeschlagen)
2.) Wird der Methodenaufruf nur von einem Thread gesteuert oder wird pro
accpet()-Aufruf ein Thread zu verfügung gestellt?
Oder kann ich das beinflussen? Wenn ja, bei welcher Klasse?
Oder habe ich nun die falsche Richtung eingeschlagen?
MfG,
Thomas