Hi,
kennt sich jemand mit SSL Verschlüsselung und .keystore (KeyStore) in Java aus? Ich bräuchte nur ein kleines Beispiel das mir zeigt wie ich einen SSLServerSocket mit eigenem Zertifikat laufen lasse und dann mit Clients per SSLSocket verbinde und auch übertrage.
Aktueller Stand:
Das sind Methoden die ich in einem Interface definiert habe und mir die ServerSocket und Socket erzeugen.
PS: Das Zertifikat habe ich mit dem keytool erzeugt. Keine Ahnung ob das stimmt. Geht/Ginge das auch direkt im Code?
Gruß
Romsl
kennt sich jemand mit SSL Verschlüsselung und .keystore (KeyStore) in Java aus? Ich bräuchte nur ein kleines Beispiel das mir zeigt wie ich einen SSLServerSocket mit eigenem Zertifikat laufen lasse und dann mit Clients per SSLSocket verbinde und auch übertrage.
Aktueller Stand:
Java:
public ServerSocket createServerSocket(int port) throws ProxyException {
try {
SSLServerSocket sslServerSocket = (SSLServerSocket) SSLServerSocketFactory.getDefault().createServerSocket(port);
try {
KeyStore keyStore = KeyStore.getInstance("JKS");
InputStream stream = getClass().getClassLoader().getResourceAsStream(".keystore");
char[] pass = "654321".toCharArray();
try {
keyStore.load(stream, pass);
}
catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
catch (CertificateException e) {
e.printStackTrace();
}
}
catch (KeyStoreException e) {
e.printStackTrace();
}
return sslServerSocket;
}
catch (IOException ioe) {
throw new ProxyException(ioe.getMessage(), ioe);
}
}
public Socket acceptSocket(ServerSocket serverSocket) throws ProxyException {
try {
if (serverSocket instanceof SSLServerSocket) {
SSLServerSocket sslServerSocket = (SSLServerSocket) serverSocket;
return sslServerSocket.accept();
}
}
catch (IOException ioe) {
throw new ProxyException(ioe.getMessage(), ioe);
}
throw new ProxyException("The ServerSocket isn't an instance of SSLServerSocket.");
}
Das sind Methoden die ich in einem Interface definiert habe und mir die ServerSocket und Socket erzeugen.
PS: Das Zertifikat habe ich mit dem keytool erzeugt. Keine Ahnung ob das stimmt. Geht/Ginge das auch direkt im Code?
Gruß
Romsl