13

パスワードを暗号化し、暗号化されたデータを に配置してsettings.xml、Maven がリモート サーバーにアクセスできることを知っています (展開などのために)。

ただし、私の場合、パスワードはサードパーティのプラグインの構成のパラメーターです。

通常、pom.xmlこのプラグインの構成は次のようになります。

<build>
    <plugins>
        <plugin>
            <groupId>xxx</groupId>
            <artifactId>maven-xxx-plugin</artifactId>
            ...
            <configuration>
                <serverAddress>http://myserver</serverAddress>
                <port>4242</port>
                <username>unicorn</username>
                <password>thePassword</password>
                ...

しかし、パスワードをプレーンテキストで設定するという考えは好きではありませんpom.xml。そこで、次のコマンドを使用して、プロパティ ( <password>${encrypted.password}</password>) として設定し、暗号化されたパスワードをsettings.xmlファイルに設定しようとしました。mvn --encrypt-password thePassword

<profiles>
    <profile>
        <id>myprofile</id>
        <properties>
            <!-- Encrypted passwords -->
            <encrypted.password>{dJXVRKwRiY8HqzhGecHd/MYju/aIEmMT8cnE6MY53uPNr0ro/CAsXSLlgzEjxYeU}</encrypted.password>
        </properties>

残念ながら、これは機能しません (プラグインは暗号化されたパスワードを「クリアな」パスワードとして使用し、暗号化を解除しようとしないと思われます)。

それを機能させる方法はありますか?そうでない場合、プレーンテキストのパスワードをpom.xmlまたはに入れないようにする代替手段は何settings.xmlですか?

ありがとう。

ps: Maven 2.2.1 を使用していますが、必要に応じて Maven 3.0 を使用することもできます。

4

3 に答える 3

3

Maven は、 でパスワードを暗号化しsettings.xml、プラグインがそれらを取得するために必要なサポートを提供しました。たとえば、SqlExecMojo.javaを参照してください。

プラグインは、この機能を使用して資格情報管理をより使いやすくする必要があります。

于 2012-09-11T16:03:21.760 に答える
1

https://github.com/echocat/velma

echocat ベルマ

…は、Maven パスワードに対して安全なマスターパスワードで保護されたパスワードです。これらのパスワードは通常、.m2/settings.xml に保存され、.m2/settings-security.xml のマスター パスワードで保護できます。しかし、あなたのコンピュータにアクセスできるすべての人があなたのマスター パスワードにアクセスできるため、この方法は依然として危険です。

多分それはあなたが探しているものです。

于 2013-03-27T16:03:15.360 に答える
0

いいえ、私はあなたが言及したパスワードの暗号化だけを知っています。他のすべての暗号化は、プラグイン自体で処理する必要があります。またはプラグインによって。暗号化キーを settings.xml に配置し、properties-pluginを使用してファイルからプロパティをロードし (またはインスピレーション ソースとして)、jasyptなどのライブラリを使用して独自の暗号化プラグインを作成することが解決策になる場合があります。プロパティを復号化して置換し、maven ライフサイクルの初期段階にバインドするプラグインを構成できます。

このようにすぐに使用できるものは見たことがありませんが、それほど複雑ではないようです。

Jasypt は、Spring PropertyPlaceholderconfigurer (.properties ファイル内の日付の暗号化) と同じ目的にも使用されます。

于 2012-09-10T07:14:42.507 に答える