我从我的Java应用程序连接到SSL over SSL.我已将MYSQL配置为支持SSL并生成客户端证书.我已将服务器CA证书和客户端证书导入密钥库.这就是我的代码目前的样子
    String url = "jdbc:mysql://127.0.0.1:3306/MySampleDb? verifyServerCertificate =true&useSSL=true&requireSSL=true"
    System.setProperty("javax.net.ssl.keyStore","/home/cert/keystore");
    System.setProperty("javax.net.ssl.keyStorePassword","password");
    System.setProperty("javax.net.ssl.trustStore","/home/cert/truststore");
    System.setProperty("javax.net.ssl.trustStorePassword","password");
    Class.forName("com.mysql.jdbc.Driver");
    con = DriverManager.getConnection(url, user, password);
我想使用带有C3p0的spring通过SSL连接到MYSQL.这是我的spring配置文件,它从jdbc.properties读取参数.
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
    <property name="driverClass" value="${jdbc.driver}"/>
    <property name="jdbcUrl" value="${jdbc.url}"/>
    <property name="user" value="${jdbc.username}"/>
    <property name="password" value="${jdbc.password}"/>
    ........
</bean>
如何配置spring来设置属性 
 verifyServerCertificate = true 
useSSL = true 
requireSSL = true"
 
还可以在spring配置文件中设置keyStore和trustStore值.
我在MySQL服务器上设置了SSL。
我为CA(ca.pem,ca-key.pem),客户端(client-cert.pem,client-key.pem)和服务器(server-cert.pem和server-key.pem)生成了一些证书。
在春季启动配置文件中,这是到application.yml文件中定义的MySQL的链接:jdbc:mysql:// host:3306 / bdd_name?useUnicode = true&characterEncoding = utf8&useSSL = true&requireSSL = true
我验证我的证书与openssl验证,并且也通过使用mysql客户端建立连接进行验证。
如何将链接Spring Boot应用程序设置为我的证书(我具有* .pem文件)以完成配置?
是否可以添加数据源 url 参数作为额外属性?或者我总是必须将它们作为查询参数直接附加到 url 中?
例子:
spring.datasource.url=jdbc:mysql://localhost/test?useSSL=false&tinyInt1isBit=false
我更喜欢添加它们,伪代码:
spring.datasource.url.meta.useSSL=false
spring.datasource.url.meta.tinyInt1isBit=false
有可能吗?
spring ×3
java ×2
mysql ×2
ssl ×2
c3p0 ×1
jdbc ×1
spring-boot ×1
spring-data ×1
spring-jdbc ×1