2016-04-26 20 views
0

私のプロパティファイルでいくつかのパスワードを暗号化するためにjasyptを使用しようとしています。 Imはjasyptのウェブサイトのガイドに従っていますが、私はパスワードで何かを混乱させると思います。私が正しいことをしているか、間違っていると私に言うことができると思っています。今すぐ...私がjbossサーバーを起動するとき、データベースにヒットしようとすると「無効なユーザー名/パスワード」エラーが出ます。復号化に失敗したか、設定が間違っています。 ここに物事をセットアップする方法があります。jasypt spring hibernate - どのようなパスワードですか?

次のように私は、暗号化されたパスワードを生成:

c:\jasypt-1.9.2\bin\encrypt input=mydbpassword password=password 
----ENVIRONMENT---------------- 

Runtime: Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 24.45-b08 

-----ARGUMENTS----------------- 
input: mydbpassword 
password: password 

------OUTPUT------------------- 
N6Wz+z6fI24MagR5A4xNoH4gMh75Vo0 

質問#1:Imは私のデータベースのパスワードは、 "入力" に行くと仮定し。もしそうなら...パスワードフィールドは何のために使われますか?

私のpersistence.xml:

<property name="connection.provider_class" value="org.jasypt.hibernate.connectionprovider.EncryptedPasswordDriverManagementConnectionProvider" /> 
<property name="connection.encryptor_registered_name" value="configurationHibernateEncryptor" /> 

私の春の豆:

<bean id="hibernateStringEncryptor" 
class="org.jasypt.hibernate4.encryptor.HibernatePBEStringEncryptor"> 
<property name="registeredName"> 
    <value>strongHibernateStringEncryptor</value> 
</property> 
<property name="algorithm"> 
    <value>PBEWithMD5AndTripleDES</value> 
</property> 
<property name="password"> 
    <value>password</value> 
</property> 
</bean> 

質問#2:イムencryptコマンドから "パスワード" フィールドを想定したがここに?私は暗号化の目的を破って以来、私のDBのパスワードがここに行くと想像できません。しかし、もう一度...本当になかったドキュメントは、その価値があったかどうかを言う。

お手伝いいただける方に感謝します。

-blake

答えて

0

アルゴリズムも指定する必要があります。

c:\jasypt-1.9.2\bin\encrypt input=mydbpassword password=password algorithm=PBEWithMD5AndTripleDES

参照してください:http://www.jasypt.org/cli.html#Listing_algorithms

、あなたのJDKにJCE Unlimited Strength Jurisdiction Policyをインストールする必要がPBEWithMD5AndTripleDESを操作するには。

パラメータpasswordは、パスワードをプレーンテキストに復号化するために必要な暗号化キーです。

+0

こんにちは。その最初の提案は、私の最初のアプリを稼働させました。魅力のように働いた。しかし、私は自分のjbossサーバーにデプロイする2つ以上のアプリケーションを持っており、まったく同じ設定ではどちらも動作しません。私はoracleから "無効なユーザー名/パスワード"を取得しているので、復号化を推測しているImは失敗しています。 hibernateStringEncryptor beanがデプロイし、persistence.xmlファイルが同じ(同じデータベースパスワード)であることを確認しました。どのようにjasyptが復号化しているのか、それを解読しようとしているのかを私がどのように見ることができるかについての考えはありますか?ありがとう! – Blake

+0

設定を見ることなく、あまり言うことはできません。 http://www.jasypt.org/api/jasypt-hibernate4/1.9.0/org/jasypt/hibernate4/encryptor/HibernatePBEStringEncryptor.html – sura2k

+0

これをお寄せいただきありがとうございます。それは私に試してみたいことがあります。私はそれについて話をするような休止状態の設定はしていませんが、私はpersistence.xmlを持っています(これは私が、休止状態のJPAバージョンですか?)。私は、persistence.xmlのconnection.encryptor_registered_nameをhibernateStringEncryptor beanの "registeredName"と一致するように変更しました。しかし、私はまだ無効なユーザー名/パスワードを取得します。それは動作する私のアプリで一致しませんでした。 jasyptの解読で何がうまくいかないのかについて私がもっと多くの情報を与えるかもしれないブレークポイントを考えることができますか?これであなたの時間をもう一度おねがいします! – Blake

関連する問題