# SSL auf Applicationsebene Sichere Datenübertragung



## tylerdurdn (6. Mrz 2007)

Hallo,

ich bräuchte echt mal eure Hilfe, wäre voll genial.
Meinereiner hat den Auftrag bekommen auf Applikationsebene eine SSL Verbindung zur sicheren Datenübertragung zum laufen bringe.
Auser etwas Theorie in sicherer Datenübertragung is SSL (praxis) ziemliches Neuland für mich.
Ich hab es nun geschafft das beide rechner die Certifcate des anderen akzeptieren und diese in ihren eigenen Keystores untergebracht haben.    

Keystore(namen):
                            Server: mySrvKeystore
                            Client : myCltKeystore

Wenn ich jedoch auf komandozeilenebene eine Verbindung aufbauen will per:

Server:
java -Djavax.net.ssl.keyStore=mySrvKeystore -Djavax.net.ssl.keyStorePassword=123456 EchoServer

Client:
java -Djavax.net.ssl.trustStore=mySrvKeystore -Djavax.net.ssl.trustStorePassword=123456 EchoClient

dann (der Server läuft), kommt beim client folgende Meldung:

java.net.ConnectException: Connection refused: connect
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
        at java.net.Socket.connect(Socket.java:461)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)

Hab schon einiges ausprobiert, klappte jedoch nicht.
Wäre echt für jeden Tip voll dankbar.
mfg

td


----------



## tylerdurdn (6. Mrz 2007)

ps:

auch wenn ich Server und Client mit folgenden commands starte, geht nix.

Server:

java -Djavax.net.ssl.keyStore=mySrvKeystore -Djavax.net.ssl.keyStorePassword=123456 -Djavax.net.ssl.trustStore=myCltKeystore -Djavax.net.ssl.trustStorePassword=tneilc EchoServer

(der Server läuft)

Client:

java -Djavax.net.ssl.keyStore=myCltKeystore -Djavax.net.ssl.keyStorePassword=tneilc -Djavax.net.ssl.trustStore=mySrvKeystore -Djavax.net.ssl.trustStorePassword=123456 EchoClient

kommt folgende Meldung:

         java.net.ConnectException: Connection refused: connect
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
        at java.net.Socket.connect(Socket.java:461)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA12275)
        at EchoClient.main(EchoClient.java:13)


----------



## tylerdurdn (6. Mrz 2007)

Debug Informationen ueber:
* -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol -Djavax.net.debug=ssl *


```
C:\SSL>java -Djavax.net.ssl.keyStore=myCltKeystore -Djavax.net.ssl.keyStorePassword=456789 -Djavax.net.ssl.trustStore=myCltKeystore -Djavax.net.ssl.trustStorePassword=456789 -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.[url]www.protocol[/url]
 -Djavax.net.debug=ssl EchoClient
keyStore is : myCltKeystore
keyStore type is : jks
init keystore
init keymanager of type SunX509
***
found key for : client
chain [0] = [
[
  Version: V1
  Subject: CN=tylerdurdn, OU=fh, O=fh, L=schweinfurt, ST=bayern, C=ba
  Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4

  Key:  SunJSSE RSA public key:
  public exponent:
    010001
  modulus:
    dcdc612c ca28b034 af39a4bc b2d8087f 0ff0f888 318a6f1b 1e9ee200 5062995b
    8c7baf5b 1b9a24fa d9be6eb1 e3f218f9 be7f2b5d d053977f de00ba73 0a42056e
    3ca2c628 fac894c6 67f1926e f73994d5 89fe4370 c5928376 4096ad5f 9291b552
    7f620323 46955b7a 6340c51d 2cf3774c fd4b59e4 968734e1 82722826 27f39f93
  Validity: [From: Tue Mar 06 12:57:20 GMT+01:00 2007,
               To: Mon Jun 04 12:57:20 GMT+01:00 2007]
  Issuer: CN=tylerdurdn, OU=fh, O=fh, L=schweinfurt, ST=bayern, C=ba
  SerialNumber: [    45ed5720]

]
  Algorithm: [MD5withRSA]
  Signature:
0000: 19 AB 7D 13 6F C6 21 59   04 3B B3 0D 72 05 26 B7  ....o.!Y.;..r.&.
0010: B6 E2 4C 21 4F 60 0C EF   26 C3 57 C9 45 52 F3 CA  ..L!O`..&.W.ER..
0020: 5E 6B B9 B9 4D 97 F0 05   37 BB 7E DA EE 86 F3 12  ^k..M...7.......
0030: 7B A6 DE D1 49 2C 87 E6   AD CF 9F 1A 7F E1 6D 47  ....I,........mG
0040: 16 10 09 54 32 C6 63 86   30 A0 AF 10 12 C1 58 EA  ...T2.c.0.....X.
0050: 52 3F 1B A4 3C 7C 62 BC   0C CB 50 42 44 EA 0D BD  R?..<.b...PBD...
0060: 0E 6F 2C 26 E4 98 1D 39   67 D1 BE C3 4B 41 DA 3E  .o,&...9g...KA.>
0070: FD 47 BE 22 6C 11 10 99   60 82 14 17 F0 FB 89 54  .G."l...`......T

]
***
trustStore is: myCltKeystore
trustStore type is : jks
init truststore
adding as trusted cert:
  Subject: CN=tyler, OU=fh, O=fh, L=schweinfurt, ST=bayern, C=ba
  Issuer:  CN=tyler, OU=fh, O=fh, L=schweinfurt, ST=bayern, C=ba
  Algorithm: RSA; Serial number: 0x4662abd3
  Valid from Sun Jun 03 12:53:55 GMT+01:00 2007 until Sat Sep 01 12:53:55 GMT+01
:00 2007

adding as trusted cert:
  Subject: CN=tylerdurdn, OU=fh, O=fh, L=schweinfurt, ST=bayern, C=ba
  Issuer:  CN=tylerdurdn, OU=fh, O=fh, L=schweinfurt, ST=bayern, C=ba
  Algorithm: RSA; Serial number: 0x45ed5720
  Valid from Tue Mar 06 12:57:20 GMT+01:00 2007 until Mon Jun 04 12:57:20 GMT+01
:00 2007

init context
trigger seeding of SecureRandom
done seeding SecureRandom
java.net.ConnectException: Connection refused: connect
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
        at java.net.Socket.connect(Socket.java:461)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketImpl.<init>(DashoA12275)
        at com.sun.net.ssl.internal.ssl.SSLSocketFactoryImpl.createSocket(DashoA
12275)
        at EchoClient.main(EchoClient.java:13)
```


----------



## hupfdule (6. Mrz 2007)

Kannst du dich denn überhaupt mit dem Serverdienst verbinden? Vlt. macht der die Verbindung gar nicht auf. Probier dich mal per telnet damit zu verbinden. Klappt das?


----------

