سؤال

أنا أستخدم maven-jarsigner-plugin لتوقيع مظللة اوبر جرة من الألغام.أنا بحاجة إلى توزيع بعض التبعيات في الجرار الخاصة بهم على الرغم من ، وتريد أن تأخذ تلك الجرار من الريبو مخضرم ، واضحة لهم من أي توقيعات القائمة ، والتوقيع عليها مع شهادة بلدي.

هل هناك أي الإضافات مخضرم أن تفعل هذا, أو أود أن تنطوي على بعض النمل المساعد هاكري?

هل كانت مفيدة؟

المحلول

تبين maven-jarsigner-plugin يمكن إعادة- توقيع الجرار الموجودة باستخدام انها removeExistingSignatures عنصر التكوين.بسيط جدا!

أنا استخدم maven-dependency-plugin لنسخ القطع الأثرية إلى .مشروع الحرب في generate-resources المرحلة ، ثم التوقيع عليها في process-resources المرحلة.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.8</version>
    <executions>
        <execution>
            <id>copy</id>
            <phase>generate-resources</phase>
            <goals>
                <goal>copy</goal>
            </goals>
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>org.lwjgl.lwjgl</groupId>
                        <artifactId>lwjgl-platform</artifactId>
                        <version>2.9.0</version>
                        <classifier>natives-osx</classifier>
                        <type>jar</type>
                        <overWrite>true</overWrite>
                        <outputDirectory>src/main/webapp/</outputDirectory>
                        <destFileName>lwjgl-platform-natives-osx.jar</destFileName>
                    </artifactItem>   
                </artifactItems>        
                <outputDirectory>src/main/webapp</outputDirectory>
                <overWriteReleases>true</overWriteReleases>
                <overWriteSnapshots>true</overWriteSnapshots>
            </configuration>
        </execution>
    </executions>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jarsigner-plugin</artifactId>
    <version>1.2</version>
    <executions>
        <execution>
            <id>sign</id>
            <phase>process-resources</phase>
        <goals>
            <goal>sign</goal>
            </goals>
    </execution>
    </executions>
    <configuration>
        <keystore>${basedir}/path/to/my.keystore</keystore>
        <alias>alias</alias>
        <storepass>password</storepass>
        <keypass>password</keypass>
        <verbose>true</verbose>
        <archiveDirectory>src/main/webapp/</archiveDirectory>
        <processMainArtifact>false</processMainArtifact>
        <removeExistingSignatures>true</removeExistingSignatures>
    </configuration>
</plugin>

نصائح أخرى

وأنا أعلم أنها ليست إجابة جيدة حقا ، ولكن أود أن محاولة حل في هذه الخطوات:

  • نسخ التبعيات حسب maven-dependency-plugin
  • antrun: <unzip> لهم ، تجريد كل شيء من /دليل الفوقية الوقود النووي المشع باستثناء البيان.مف, <jar> مرة أخرى والتوقيع عليها مرة أخرى باستخدام <jarsign> مهمة النمل.

المشكلة الرئيسية التي وجدتها منذ أن أعمل مع مخضرم (أعترف مؤخرا) هي أنه يجعلك تمر عبر خط الأنابيب المحدد مسبقا ، وهذا النوع من الأشياء (وهو أكثر شيوعا مما يبدو) سيجعلك بحاجة إلى بعض قرصنة النمل كما تسميها؛)

استخدمها أبدا، ولكن يبدو أن WebStart-Maven-Plugin يمكن أن Unsign وتوقيع الجرار.

http://mojo.codehaus.org/webstart/Webstart-Maven-Plugin / Unsign-Mojo.html

نأمل هذه المساعدة.

باستخدام مخضرم:

إنشاء وحدة جرة مخضرم فارغة في جرة التي تريد الاستقالة ، والقيام مخضرم التبعية: فك من واحدة من الجرار ، تصفية ملفات التوقيع ونسخ الملفات إلى سرك/الرئيسية/جافا.

ثم التوقيع على جرة مع maven-jarsigned-plugin, ، ستكون النتيجة جرة تحتوي على نفس الفئات.

بديل غير مخضرم على أساس:

الطريقة المذكورة أعلاه لا مقياس جيد ، وربما يكون من الأسهل لإنشاء البرنامج النصي الذي يلي هذه الخطوات.

أبسط طريقة للقيام بذلك ستكون:

بدلا من الاستقالة الجرار ، والنظر في تسجيل المفتاح العمومي للموقع في مستودع مخضرم الخاص بك ، وهذا يعني أنك تثق في الشخص الذي خلق هذه الجرار وقبول أي الجرار القادمة منها.

الحقيقة هي أنك تثق بهم بالفعل لأنك تستخدم الكود الخاص بهم وتستقيل منه ، لذلك سيكون من الأسهل تكوين المستودع لقبول توقيعهم ، بنفس الطريقة التي تم تكوين المستودع بالفعل من قبل شخص ما لقبول توقيعك.

يرتبط المستودع بمتجر مفاتيح يحتوي على المفاتيح العامة لموقعي الجرة المقبولين ، وسيكون الأمر يتعلق بمطالبة الفريق الذي يتعامل مع المستودع بإضافة مفتاح آخر إلى قائمة الموقعين الموثوق بهم ، وسيعرفون كيفية القيام بذلك بالتأكيد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top