SSL-Zertifikate für viele Nutzer?

fc90

Mitglied
Hallo,

Ich hoffe der Titel ist etwas aussagekräftig. Wusste nicht wie ich mein Problem sonst kurz beschreiben soll.

Ich schreibe zur Zeit an einer kleinen Server-Client-Anwendung, die ich dann mehreren Nutzern zur Verfügung stellen möchte. Die Verbindung soll sicher über SSL erfolgen (hab ich schon programmiert und funktioniert auch).

Allerdings muss man ja nun für jeden Server und jeden Client ein neues Zertifikat erstellen. Wie stellt man das am besten an? Erstellt man die Zertifikate automatisch, oder kann man das ganz umgehen?

Ich will halt nicht jedem Client/Server ein einzelnes Zertifikat geben müssen, bei anderen Programmen geht das ja auch ohne das jeder einen extra Download hat:)


Ich hoffe mir kann jemand helfen und ich danke schon mal für sinnvolle Antworten.
 

homer65

Top Contributor
Ich dachte eigentlich, das nur jeder Server ein Zertifikat hatt. Während die Clients vom Server alle das gleiche Zertifikat bekommen.
 

fc90

Mitglied
dann hab ich das vielleicht falsch verstanden.

Ich habe mir das bei diesem Tutorial angeschaut:
JAVA + SSL Tutorial

müsste ich dann sozusagen die keyStore-Datei vom Server zum Client schicken? Das wäre ja noch unverschlüsselt...
 

HoaX

Top Contributor
Der Client benutzt in dem Tutorial den selben Keystore wie der Server, und zwar aus gutem Grund:
Der Client prüft das Zertifikat des Servers ob es gültig ist. Solange das Serverzertifikat selbstsigniert/von keiner großen Zertifikatstelle signiert ist, kennt der Client das Zertifikat natürlich nicht. Es wäre somit ohne weiteres für einen Angreifer möglich einen eigenen SSL-Proxy dazwischen zu schalten mit einem eigenen Zertifikat (da er das Originalzertifikat+Privatekey) nicht hat. Der Client würde das nicht erkennen. Darum wird in dem Beispiel dem Client das Zertifikat des Servers mittels Keystore bekannt gemacht, so dass er die Signatur aus dem Keystore mit der per SSL-Verbindung erhaltenen Signatur zu vergleichen und ggf. den Verbindungsabbau abzubrechen.

Wenn du eine solche Zertifikatprüfung nicht brauchst, dann kannst du auch eine eigene SSLSocketFactory betreitstellen die darauf verzichtet.
Kiran Thakkar's Blog: Dummny certificate authentication implementation
 

fc90

Mitglied
vielen Dank für deine Antwort.

Wäre das dann trotzdem noch als sicher zu betrachten? Die Zertifikate machen doch eigentlich nichts anderes als die Identität zu verifizieren, oder?

Hier mal kurz beschrieben was genau ich will:

1. Verbindung wird gesichert aufgebaut (mit SSL).
2. Client sendet Benutzer und Passwort zum Server.
3. Server sendet Daten zurück.
4. Ende der verschlüsselten Verbindung.

Es sollte eben halt relativ abhörsicher sein, da ja die Benutzerdaten übertragen werden (vll. hashe ich die auch bevor ich sie übertrage?).
 

HoaX

Top Contributor
Wenn der Client das Serverzertifikat nicht kennt, dann kann er dessen Identität auch nicht verifizieren. Wenn du also darauf angewiesen bist, dann benötigt der Client vorher schon eine Kopie des Serverzertifikats.
 

fc90

Mitglied
na die Zertifikate sind doch eigentlich nur dazu da um die Identität von Server oder Client zu bestätigen.

Ich hab mir das noch mal durch den Kopf gehen lassen, eigentlich brauche ich nur ein Zertifikat auf Serverseite, weil sonst könnte jemand einen Fake-Server aufmachen und würde am Ende die Daten im Klartext kriegen. Clientmäßig ist es ja eigentlich egal, wenn Benutzername und Passwort nicht stimmen gibts eh keine Daten.
 

ThreadPool

Bekanntes Mitglied
na die Zertifikate sind doch eigentlich nur dazu da um die Identität von Server oder Client zu bestätigen.

Ich hab mir das noch mal durch den Kopf gehen lassen, eigentlich brauche ich nur ein Zertifikat auf Serverseite [...]

IMHO Die Leute die das so machen veröffentlichen oft den Fingerprint des Zertifikats (auf einer normalen ungesicherten Seite), so kann man zumindest auf Sicht überprüfen ob das Zertifikat wohl das richtige ist bevor man sich über eine gesicherte Verbindung verbindet.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I HTTP S - Zertifikate+Cockies für Form-basierten Login Netzwerkprogrammierung 2
Tom079 Zertifikate automatisch annehmen. Netzwerkprogrammierung 2
FrankenDerStein HTTP Https Server Bibliothek für Linux und Android gesucht. Netzwerkprogrammierung 7
FrankenDerStein Socket UDP Multithreading für ein Port Netzwerkprogrammierung 2
M Server-Client-System für Browsergame Netzwerkprogrammierung 5
Tobero Java serversocket nicht nur zuganglich für localhost Netzwerkprogrammierung 6
T Brauche Hilfe beim GET-String für HttpURLConnection Netzwerkprogrammierung 4
F Server für Java Applikationen Netzwerkprogrammierung 16
B Webview für Anwendung Netzwerkprogrammierung 7
M Sicheres Login-System für App implementieren Netzwerkprogrammierung 6
J Netty umsetzung für ein Protokoll Netzwerkprogrammierung 1
J ERM für kleine Verwaltungsdatenbank Netzwerkprogrammierung 2
H Machbarkeitsfrage: TCP/IP Client (z.B. Netty) für Java Web Applcation Netzwerkprogrammierung 1
Messoras Launcher für mein Spiel Netzwerkprogrammierung 7
F Einfaches Gateway für Log-Files Netzwerkprogrammierung 1
P RMI - Neue eigene Instanz für jeden Aufruf auf nicht serialisierbares Objekt - wie? Netzwerkprogrammierung 0
P PPTP Protokoll für JAVA Netzwerkprogrammierung 14
T FTP Wie Notwendigkeit für "rekey" klientenseitig detektieren? Netzwerkprogrammierung 3
S Webserver für Jar File Netzwerkprogrammierung 4
G Socket Socket verbindung für Chat System Netzwerkprogrammierung 3
V Templates für Java Client rabbitmq Netzwerkprogrammierung 4
M Erreichbar für alle zu sein Netzwerkprogrammierung 9
M Server nur für eine Aufgabe Netzwerkprogrammierung 2
N Selbes URL Objekt für alle Requests nutzen Netzwerkprogrammierung 7
T uberspace.de als (v)root-Ersatz für kleinere Java-Anwendungen? Netzwerkprogrammierung 12
L Proxy für Dateidownload? Netzwerkprogrammierung 3
K HTTP Eigener Http Response für Datei-Download Netzwerkprogrammierung 4
D Socket Leitstelle für Funkspiel Netzwerkprogrammierung 8
F Java-Beispielcode für Zeroconf (ähnlich Apple Bonjour) Netzwerkprogrammierung 7
Ollek Socket Sucher passende Server/Client Lösung für meine Anwendung Netzwerkprogrammierung 2
M Gleicher Port für Senden und Empfangen ? Netzwerkprogrammierung 17
N RMI Einstellungen für "übers Internet" Netzwerkprogrammierung 8
K Byte für Byte aus InputStream lesen Netzwerkprogrammierung 5
S wie stell man die classpath für JARs? Netzwerkprogrammierung 3
M Bestimmte Klassen für Netzwerkchecks gesucht Netzwerkprogrammierung 11
M ClassLoader für Axis2 setzen Netzwerkprogrammierung 15
M Welches Speicherformat für News-Database?? Netzwerkprogrammierung 2
Shoox VPN-Verbindung für Datenbankzugriff Netzwerkprogrammierung 2
P Proxy für Anwendung setzten Netzwerkprogrammierung 3
T Bezeichner "end of line" für die Funktion readline Netzwerkprogrammierung 5
A DataGramsocket Übertragungsproblem im Internet (IPs für Voip) Netzwerkprogrammierung 5
E Userliste für Chat Applet Netzwerkprogrammierung 4
S HTTP Kleines Programm für den Routerneustart Netzwerkprogrammierung 3
L Zeitspanne für erneutes senden Netzwerkprogrammierung 16
L Socket Chat Server für mehrere Clients Netzwerkprogrammierung 7
F Netzwerkprogrammierung für Anfänger Netzwerkprogrammierung 2
J Framework/ Muster für Chat-ähnliches Programm gesucht Netzwerkprogrammierung 2
B Variablen ausrichten für Übertragung Netzwerkprogrammierung 2
D FTP Pfadangabe für ftp-upload funktioniert nicht Netzwerkprogrammierung 5
K Getrennte Rechner für RMI-Server/RMI-Registry, bzw. Alternativen? Netzwerkprogrammierung 5
dayaftereh HTTPCleint und HTMLparser für hTTpBot Netzwerkprogrammierung 2
E Socket Client-Applikation mit GUI für Internet IO-Platine Netzwerkprogrammierung 2
0din Grundlage für Bluetooth Netzwerkprogrammierung 5
N "Jungfernflug" der Socketprogrammierung für ein Mühlespiel Netzwerkprogrammierung 8
F Empfehlung für embedded Webserver Netzwerkprogrammierung 10
W Bibliothek für Certificate Management Protocol (CMP) Netzwerkprogrammierung 3
O Client/Server für Ticker Netzwerkprogrammierung 2
J Stubs für SOAP-Webservice generieren. Ich bekomme es einfach nicht hin... Netzwerkprogrammierung 3
dayaftereh Bester Stream für ein Spiel? Netzwerkprogrammierung 15
data89 Sockets: ein alter Hut - für Euch - für mich nicht! Netzwerkprogrammierung 10
G FileDialog für FTP Client Netzwerkprogrammierung 2
P Welches Protokoll für RMI verwenden? Netzwerkprogrammierung 10
H RCON Tool für Gameserver Netzwerkprogrammierung 11
A Wichtig für einen Chat? Netzwerkprogrammierung 4
D Was für Verbindungen mit Socket möglich? Netzwerkprogrammierung 2
S Realisierung eines Netzwerkcodes für ein Strategiespiel Netzwerkprogrammierung 7
G Datagram-Sockets für UDP-Kommunikation Netzwerkprogrammierung 2
W Was für ein Stream soll ich verwenden? Netzwerkprogrammierung 8
A Rezept für Webservices Netzwerkprogrammierung 5
I unc pfad für die klasse file? Netzwerkprogrammierung 4
P eine BufferedReader für alles ankommende Netzwerkprogrammierung 2
T Filter für Input UND OutputStream Netzwerkprogrammierung 4
T Welches Netzwerk ist am bestern für. Netzwerkprogrammierung 2
G server für mein spiel. Netzwerkprogrammierung 5
M Log In Programm für Seiten Netzwerkprogrammierung 2
G Netzwerkprogrammierung für spiele Netzwerkprogrammierung 2
A IRC-Server für das lokale Netzwerk? Netzwerkprogrammierung 12
C Einfacher Filedownload mit Sockets geht nicht für pdffiles Netzwerkprogrammierung 16
S Server für Internetspiel Netzwerkprogrammierung 2
G Objecte für Kommunikation nutzen Netzwerkprogrammierung 2
J Java Programm für Upload von Dateien per HTTP Netzwerkprogrammierung 7
S Voreinstellungen für JavaMail Netzwerkprogrammierung 2
S Idee für Projekt auf Agentenbasis Netzwerkprogrammierung 8
S Suche API für einfachen HTTP-Zugriff. Netzwerkprogrammierung 17
G benötige Beispiel für parallel ablaufende Threads Netzwerkprogrammierung 3
M RMI - Ein Objekt für Alle? Netzwerkprogrammierung 5
Z Protokoll für Schiffeversenken Netzwerkprogrammierung 5
T Kann man jeden Port für Programm verwenden? Netzwerkprogrammierung 2
R proxy für java anwendung angeben [resolved] Netzwerkprogrammierung 15
B Wie Router einstellen für CLient-Server-Programm? Netzwerkprogrammierung 4
R PPTP Protokoll für JAVA Netzwerkprogrammierung 3
Icewind Klasse für DNS Anfragen Netzwerkprogrammierung 14
P Welche Art von Sockets für ein Spiel? Netzwerkprogrammierung 3
M Socket Verbindungen für einen Chat Netzwerkprogrammierung 10
M Ausgangsport für FTp-Connection festlegen??? Netzwerkprogrammierung 3
D beste Methode für Datenübertragung ? Netzwerkprogrammierung 1
P Socket Viele Clients bedienen mit Vert.x Netzwerkprogrammierung 9
B Viele verschiedene E-Mails an unterschiedliche Empfänger schnell versenden? Netzwerkprogrammierung 8
R viele HttpRequests - Adapter überlastet? Netzwerkprogrammierung 11
R Viele Clients ein Server Netzwerkprogrammierung 8

Ähnliche Java Themen

Neue Themen


Oben