كيفية التعامل مع الشهادات في دوكيرفيل

أنا أكتب صورة عامل الميناء على أساس الخروج من مافين:3.6.0-جدك-11-سليم للتكامل مع خط أنابيب جينكينز لدينا. أنا أعمل في بيئة الشركات التي وراء جدار حماية ضيق جدا ، وأنا بحاجة إلى إضافة شهادات من أجل تحميل التبعيات اللازمة من خادم نيكزس لدينا.

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

أنا يجري حذرا جدا في عدم الرغبة في ارتكاب لدينا كاليفورنيا سيرت? أم أن هناك حلا من شأنه أن يسمح لي باستخدام الشهادة الموجودة بالفعل على خادم البناء?

دوكيرفيل كمرجع:

## Build Stage#FROM maven:3.6.0-jdk-11-slimCOPY ca.crt /usr/local/share/ca-certificatesRUN update-ca-certificatesCOPY pom.xml /tmp/pom.xmlCOPY settings.xml /usr/share/maven/ref/settings.xmlRUN mvn -f /tmp/pom.xml -X -s /usr/share/maven/ref/settings.xml clean package

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

إذا كان ca.crt هو شهادة المفتاح العمومي إنه بحكم التعريف عام ولا يحتوي على أي معلومات تسمح للشخص بانتحال شخصية الخادم الذي يحتوي على شهادة المفتاح الخاص المقابلة. لذلك من الآمن إضافة الملف إلى الريبو ، ولكن... هناك حل أفضل:

احصل ديناميكيا على شهادة المفتاح العمومي من الخادم.باستخدام الأمر التالي ، يمكنك الحصول على المفتاح العمومي لـ "الشهادة الموقعة ذاتيا" من المرجع المصدق الذي وقع الشهادة:

echo quit | openssl s_client -showcerts -servername example.com -connect example.com:443 2>/dev/null | awk '/BEGIN/,/END/{ if(/BEGIN/){c=""};c=c $0 "\n"}END{print c}' >ca.crt || true

الملف ca.crt يحتوي على شهادة المفتاح العمومي.

بهذه الطريقة كلما قمت ببناء صورة عامل الميناء شهادة كا هو"منتعشة".