# JDBC Oracle SSL - Connection



## Holycrap (18. Juli 2011)

Guten Morgen!

Ich tüftle jetzt schon seit mehreren Tagen am selben Problem herum.
Ich möchte mit meinem Java - Programm eine SSL - Verbindung zur Datenbank aufbauen, dabei bin ich nach diesem Tutorial vorgegangen:
http://www.oracle.com/technetwork/database/enterprise-edition/wp-oracle-jdbc-thin-ssl-130128.pdf

Im Moment versuche ich nur den ersten Fall, also ohne PK12, SSO, etc.
Meine Files sehen wie folgt aus:
listener.ora

```
SSL_CLIENT_AUTHENTICATION = FALSE
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCPS)(HOST = 127.0.0.1)(PORT = 2484))
    )
  )
```

sqlnet.ora

```
SQLNET.AUTHENTICATION_SERVICES = (NTS)
SSL_CIPHER_SUITES=(SSL_DH_anon_WITH_3DES_EDE_CBC_SHA, SSL_DH_anon_WITH_RC4_128_MD5, SSL_DH_anon_WITH_DES_CBC_SHA)
SSL_CLIENT_AUTHENTICATION=FALSE
```

tnsnames.ora

```
DB_1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCPS)(HOST = localhost)(PORT = 2484))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = db_1)
    )
  )
```

Wenn ich nun mit meinem Java - Programm folgendes Versuche:

```
String url ="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=localhost)(PORT=2484))(CONNECT_DATA=(SERVICE_NAME=db_1)))";
        Properties props = new Properties();
        props.setProperty("user", "XXX");
        props.setProperty("password", "xxx");
        props.setProperty("oracle.net.ssl_cipher_suites",
                "(SSL_DH_anon_WITH_3DES_EDE_CBC_SHA, SSL_DH_anon_WITH_RC4_128_MD5,SSL_DH_anon_WITH_DES_CBC_SHA)");
        Class.forName(<dbDriver>);
        Connection conn = DriverManager.getConnection(url, props);
```

bekomme ich diese Exception:


```
java.sql.SQLRecoverableException: I/O-Fehler: Remote host closed connection during handshake
Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake
Caused by: java.io.EOFException: SSL peer shut down incorrectly
```

und im listener.log steht das hier:

```
Die System-Parameterdatei ist C:\Oracle\product\11.1.0\db_1\network\admin\listener.ora
Log-Meldungen wurden geschrieben in: c:\oracle\diag\tnslsnr\blabla\listener\alert\log.xml
Die Trace-Information wurde in c:\oracle\diag\tnslsnr\blabla\listener\trace\ora_3928_3268.trc geschrieben
Die Trace-Ebene ist derzeitig 0

Gestartet mit Pid=3928
Listen auf: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
Listen auf: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=127.0.0.1)(PORT=2484)))
Listener completed notification to CRS on start

TIMESTAMP * CONNECT DATA [* PROTOCOL INFO] * EVENT [* SID] * RETURN CODE
Mon Jul 18 09:20:32 2011
18-JUL-2011 09:20:32 * (CONNECT_DATA=(SID=db_1)(CID=(PROGRAM=JDBC Thin Client)(HOST=__jdbc__)(USER=admin))) * (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=49777)) * establish * db_1 * 12505
TNS-12505: TNS: Listener kann in Connect-Deskriptor angegebene SID aktuell nicht auflösen
18-JUL-2011 09:20:33 * 12560
TNS-12560: TNS: Fehler bei Protokolladapter
 TNS-00540: Fehler bei SSL-Protokolladapter
  32-bit Windows Error: 61: Unknown error
```

Ich hoffe jemand kann mir sagen, wo ich etwas falsch konfiguriert habe. 
lg


----------

