spring - एसएसएल पर mysql से जुड़ने के लिए वसंत कॉन्फ़िगर करें



ssl jdbc (1)

मैं अपने जावा अनुप्रयोग से SSL पर MySQL से जुड़ रहा हूँ। मैंने SSL और उत्पन्न क्लाइंट प्रमाणपत्रों का समर्थन करने के लिए MYSQL को कॉन्फ़िगर किया है I मैंने सर्वर सीए प्रमाणपत्र और कीस्टोर में क्लाइंट प्रमाण पत्र आयात किया है I यह मेरा कोड वर्तमान में दिखता है

    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);

मैं SSL पर MYSQL से कनेक्ट करने के लिए C3p0 के साथ वसंत का उपयोग करना चाहता हूं। यह मेरी वसंत कॉन्फ़िगरेशन फ़ाइल है जो कि 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>

मैं संपत्तियों को सेट करने के लिए वसंत को कॉन्फ़िगर कैसे कर सकता हूँ सर्टिफिकेट = सत्य
useSSL = true
requireSSL = सच "
वसंत कॉन्फ़िग फ़ाइल में भी कुंजीस्टोर और ट्रस्टस्टोर मान सेट करना संभव है


jdbc.url में jdbc.properties के लिए मान होना चाहिए

JDBC: mysql: //127.0.0.1: 3306 / MySampleDb verifyServerCertificate = सच और useSSL = सच और requireSSL = true

उन मापदंडों को सीधे MySQL के यूआरएल में जोड़ा जाना चाहिए। keyStore और trustStore मापदंडों को इस तरह शुरू होने पर जेवीएम में भेज दिया जाना चाहिए:

-Djavax.net.ssl.keyStore=path_to_keystore_file
-Djavax.net.ssl.keyStorePassword=password
-Djavax.net.ssl.trustStore=path_to_truststore_file
-Djavax.net.ssl.trustStorePassword=password

आप सिस्टम गुणों को सेट करने के लिए स्प्रिंग का उपयोग कर सकते हैं लेकिन मैं इसका इस्तेमाल कभी नहीं करूंगा, यह बहुत बोझिल है।





spring-jdbc