java - found - ¿Cómo puedo configurar Hibernate para usar SSL para hablar con el servidor de bases de datos?
hibernate.dialect sql server (4)
Debe ser manejado por el controlador, pero es posible que deba hacer alguna configuración. Documentos de Oracle
Tengo una aplicación web de Java que usa Hibernate para su persistencia. Me han dicho que tengo que hablar encriptado con el DB, así que lo primero que tengo que hacer es configurarlo para hacer la comunicación a través de SSL, y descubrí cómo configurar Oracle para escuchar JDBC en lugar de SSL.
http://www.oracle.com/technology/tech/java/sqlj_jdbc/pdf/wp-oracle-jdbc_thin_ssl_2007.pdf
Y escribió una clase de prueba rápida para verificar que estaba configurada y funcionando (conectando a través de JDBC estándar). Eso me dejó el problema de configurar Hibernate. Desafortunadamente, no veo cómo Hibernate lo admite.
Hibernate funciona con orígenes de datos JDBC estándar, por lo que no es necesaria la configuración específica de Hibernate.
Aquí hay un ejemplo rápido que debería funcionar al configurar Hibernate con Spring:
<bean id="dataSource" class="oracle.jdbc.pool.OracleDataSource">
<property name="URL"><value><!-- JDBC URL that specifies SSL connection --></value></property>
<!-- other relevant properties, like user and password -->
<property name="connectionProperties>
<value>
oracle.net.ssl_cipher_suites: (ssl_rsa_export_with_rc4_40_md5, ssl_rsa_export_with_des40_cbc_sha)
oracle.net.ssl_client_authentication: false
oracle.net.ssl_version: 3.0
oracle.net.encryption_client: REJECTED
oracle.net.crypto_checksum_client: REJECTED
</value>
</property>
</bean>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<!-- classes etc -->
</bean>
Prueba esto:
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://blablaba:8443/dbname?useSSL=true</property>
<property name="hibernate.connection.verifyServerCertificate">false</property>
<property name="hibernate.connection.requireSSL">true</property>
<property name="hibernate.connection.autoReconnect">true</property>
<property name="hibernate.connection.username">bablablab</property>
<property name="hibernate.connection.password">clclclclc</property>
enlaces relacionados
http://www.razorsql.com/articles/mysql_ssl_jdbc.html
http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-using-ssl.html
http://www.javabeat.net/qna/164-hibernate-jdbc-and-connection-properties/
Agregue la siguiente propiedad en el archivo de configuración de Hibernate para habilitar SSL:
<property name="hibernate.connection.verifyServerCertificate">false</property> <property name="hibernate.connection.useSSL">true</property>