يمكن مخضرم إعادة توقيع التبعيات?
-
21-12-2019 - |
سؤال
أنا أستخدم 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
, ، ستكون النتيجة جرة تحتوي على نفس الفئات.
بديل غير مخضرم على أساس:
الطريقة المذكورة أعلاه لا مقياس جيد ، وربما يكون من الأسهل لإنشاء البرنامج النصي الذي يلي هذه الخطوات.
أبسط طريقة للقيام بذلك ستكون:
بدلا من الاستقالة الجرار ، والنظر في تسجيل المفتاح العمومي للموقع في مستودع مخضرم الخاص بك ، وهذا يعني أنك تثق في الشخص الذي خلق هذه الجرار وقبول أي الجرار القادمة منها.
الحقيقة هي أنك تثق بهم بالفعل لأنك تستخدم الكود الخاص بهم وتستقيل منه ، لذلك سيكون من الأسهل تكوين المستودع لقبول توقيعهم ، بنفس الطريقة التي تم تكوين المستودع بالفعل من قبل شخص ما لقبول توقيعك.
يرتبط المستودع بمتجر مفاتيح يحتوي على المفاتيح العامة لموقعي الجرة المقبولين ، وسيكون الأمر يتعلق بمطالبة الفريق الذي يتعامل مع المستودع بإضافة مفتاح آخر إلى قائمة الموقعين الموثوق بهم ، وسيعرفون كيفية القيام بذلك بالتأكيد.