Ich bin sehr neu in Spring Framework und ich benutze Spring-Framework, um meine Datenbankverbindungen und so weiter zu verwalten. Anwendung liest meine DB Verbindungsparameter aus einer Eigenschaftendatei. Was ich brauche, ist, mein Verbindungspasswort in der Eigenschaftendatei verschlüsselt zu speichern. Hier ist meine Datenquelle xmlWie man das Passwort verschlüsselt in der Eigenschaftendatei im Frühjahr speichert
Datei<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>file:${DBConfigFile}</value>
</property>
</bean>
<bean id="myDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="${jdbc.driverClassName}" />
<property name="jdbcUrl" value="${jdbc.url}" />
<property name="user" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="initialPoolSize"><value>3</value></property>
<property name="minPoolSize"><value>3</value></property>
<property name="maxPoolSize"><value>50</value></property>
<property name="idleConnectionTestPeriod"><value>200</value></property>
<property name="acquireIncrement"><value>1</value></property>
<property name="maxStatements"><value>0</value></property>
<property name="numHelperThreads"><value>3</value></property>
</bean>
</beans>
Ich thiking das Passwort zu Property-Datei verschlüsselt zu schreiben, und ich frage mich, ob Frühling es mit einem Algorithmus automatisch entschlüsseln kann. Ist es mit Konfiguration möglich? Vielen Dank im Voraus.
Sie haben Recht, aber ich erwähne über einen privaten Algorithmus des Frühlings, nicht um ein öffentliches. Vielen Dank für Ihre Antwort, ich werde über SSL-Zertifizierung suchen. – tace
@tace Private Algorithmus für Sicherheit ist Oxymoron. http://en.wikipedia.org/wiki/Security_through_obsicurity. Also, die eine Möglichkeit, es richtig zu machen, ist Betriebssystem-Schutz (Windows NTLM, Unix Pam, etc), könnte es einige Schutz bieten. – kan
Mit verschlüsselten Anmeldeinformationen in Ihren Eigenschaften können Sie diese versionsgesteuert (nicht offensichtlich zusammen mit dem privaten Schlüssel) zusammen mit dem Dienst halten, der sie benötigt, und automatisch bei der Bereitstellung des Dienstes bereitstellen. Das einzige, was außerhalb der Bereitstellungs-Pipeline gepflegt werden muss, ist der private Schlüssel zum Entschlüsseln der Eigenschaften, der weit weniger fehleranfällig sein sollte als das Beibehalten der gesamten Konfiguration außerhalb des normalen Lebenszyklus des Dienstes. –