บทช่วยสอนนี้ให้ข้อมูลเบื้องต้นเกี่ยวกับการเซ็นโค้ดด้วย Azure DevOps โดยใช้ใบรับรองที่เก็บไว้ใน Azure Key Vault ในการปฏิบัติตามคำแนะนำเหล่านี้คุณจะต้อง:
- An บัญชี Azure
- A โครงการ DevOps
- A ห้องนิรภัยที่สำคัญ
- A ใบรับรองการลงนามรหัส ติดตั้งใน Key Vault ของคุณ คุณสามารถ:
ตรงไปที่บทความนี้เพื่อดูคำแนะนำเกี่ยวกับวิธีการรวม eSigner กับ Azure DevOps: คู่มือการรวม Azure DevOps Cloud Signing.
ลงทะเบียนแอปพลิเคชัน Azure
ขั้นแรกคุณจะต้องลงทะเบียนแอปพลิเคชัน Azure ใหม่เพื่อให้คุณสามารถเชื่อมต่อกับ Key Vault เพื่อลงนามได้
- ลงชื่อเข้าใช้ พอร์ทัล Azure.
- นำทางไปยัง Azure Active Directory. (คลิก บริการอื่น ๆ หากมองไม่เห็นไอคอน Azure Active Directory)
- คลิก การลงทะเบียนแอพในคอลัมน์ด้านซ้าย
- คลิก การลงทะเบียนใหม่.
- ให้ใบสมัครของคุณ Name และคลิกที่ สมัครสมาชิก ปุ่ม. ปล่อยให้การตั้งค่าอื่น ๆ เป็นค่าเริ่มต้น
- ใบสมัครใหม่ของคุณได้รับการลงทะเบียนแล้ว คัดลอกและบันทึกค่าที่แสดงสำหรับ รหัสแอปพลิเคชัน (ไคลเอนต์)เพราะคุณจะต้องใช้ในภายหลัง
สร้างความลับของลูกค้า
จากนั้นสร้างข้อมูลลับของไคลเอ็นต์ซึ่งจะใช้เป็นข้อมูลรับรองเมื่อเซ็นชื่อ
- คลิก ใบรับรองและความลับ ในเมนูด้านซ้ายมือ
- คลิก ความลับของลูกค้าใหม่.
- ให้ความลับแก่ลูกค้าของคุณก รายละเอียดกำหนดวันหมดอายุตามต้องการแล้วคลิกไฟล์ เพิ่ม ปุ่ม
- คัดลอก ความคุ้มค่า ความลับของลูกค้าใหม่ของคุณ ทันที และบันทึกไว้ในที่ปลอดภัย ในครั้งถัดไปที่มีการรีเฟรชหน้าค่านี้จะถูกมาสก์และแก้ไขไม่ได้
เปิดใช้งานการเข้าถึงใน Key Vault
ตอนนี้คุณจะต้องเปิดใช้งานการเข้าถึงแอปพลิเคชันของคุณใน Azure Key Vault
- ไปที่ Key Vault ที่มีใบรับรองที่คุณต้องการใช้ในการเซ็นชื่อแล้วคลิก เข้าถึงนโยบาย ลิงค์
- คลิก เพิ่มนโยบายการเข้าถึง.
- ภายใต้ สิทธิ์ที่สำคัญ, เปิดใช้งาน
Verify
,Sign
,Get
และList
.
- ภายใต้ สิทธิ์ลับ, เปิดใช้งาน
Get
และList
.
- ภายใต้ สิทธิ์ในการออกใบรับรอง, เปิดใช้งาน
Get
และList
.
- คลิก ไม่ได้เลือก ลิงก์ภายใต้ เลือกตัวการจากนั้นใช้ช่องค้นหาเพื่อค้นหาและเลือกแอปพลิเคชันที่คุณสร้างในส่วนก่อนหน้า
- คลิก เลือก ปุ่ม
- คลิก เพิ่ม ปุ่ม
- คลิก ลด.
- ตั้งค่านโยบายการเข้าถึงของคุณแล้ว
กำหนดค่า DevOps Build
ตอนนี้คุณสามารถกำหนดค่างานสร้างของคุณได้ เปิดโครงการของคุณใน Azure DevOps
จัดเก็บข้อมูลประจำตัวของแอปพลิเคชันเป็นตัวแปร
คุณสามารถใส่รหัสแอปพลิเคชันและรหัสลับไคลเอ็นต์ของคุณได้โดยตรงในไฟล์ไปป์ไลน์ YAML ของคุณ แต่จะปลอดภัยกว่าหากคุณจัดเก็บเป็นตัวแปรใน DevOps
- คลิก ท่อ.
- คลิก ห้องสมุด.
- คลิก + กลุ่มตัวแปร.
- ตั้งชื่อกลุ่มตัวแปรของคุณ
- คลิก เพิ่ม.
- ป้อนชื่อตัวแปรสำหรับ ID แอปพลิเคชันของคุณจากนั้นวางค่า คลิกล็อคเพื่อเข้ารหัสตัวแปรเมื่อคุณดำเนินการเสร็จสิ้น
- ทำซ้ำขั้นตอนเพื่อเพิ่มตัวแปรสำหรับข้อมูลลับไคลเอนต์ของคุณ
- คลิก ลด.
- เชื่อมโยงกลุ่มตัวแปรในไปป์ไลน์ของคุณ (แทนที่ VARIABLE-GROUP ด้วยชื่อกลุ่มตัวแปรจริงของคุณ)
ตัวแปร: - กลุ่ม: 'VARIABLE-GROUP'
เพิ่มขั้นตอนไปป์ไลน์เพื่อติดตั้ง Azure Sign Tool
เครื่องมือลงชื่อเข้าใช้ Azure เป็นยูทิลิตี้โอเพนซอร์สที่นำเสนอ เครื่องมือเข้าสู่ระบบ ฟังก์ชันสำหรับใบรับรองและคีย์ที่เก็บไว้ใน Azure Key Vault เพิ่มขั้นตอนต่อไปนี้ในไปป์ไลน์ของคุณเพื่อติดตั้ง Azure Sign Tool:
- งาน: อินพุต DotNetCoreCLI @ 2: command: 'custom' custom: 'tool' อาร์กิวเมนต์: 'install --global azuresigntool' displayName: Install AzureSignTool
เพิ่มคำสั่ง Azure Sign Tool ไปยัง Pipeline
- ตอนนี้คุณสามารถเพิ่มงานเพื่อเซ็นชื่อรหัสของคุณไปยังท่อได้ คุณจะต้องมีข้อมูลต่อไปนี้:
- เพิ่มการเรียกใช้ Azure Sign Tool ในไปป์ไลน์ของคุณ แทนที่ค่าที่แสดงใน ALL-CAPS ด้วยค่าจริงของคุณ:
- งาน: CmdLine @ 2 อินพุต: สคริปต์: AzureSignTool ลงชื่อ -kvu "KEY-VAULT-URI" -kvi "$ (APPLICATION-ID-VAR)" -kvs "$ (ไคลเอนต์ - ความลับ -VAR)" -kvc ใบรับรอง - ชื่อ -tr "http://ts.ssl.com" -td sha256 "FILE-TO-SIGN" displayName: Sign Code
- คุณควรเห็นผลลัพธ์เช่นนี้หากการลงนามสำเร็จ:
ข้อมูล: AzureSignTool.Program [0] => ไฟล์: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe ลงนามไฟล์ D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe ข้อมูล: AzureSignTool โปรแกรม [0] => ไฟล์: D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe การเซ็นชื่อเสร็จสมบูรณ์สำหรับไฟล์ D: \ a \ 1 \ s \ x64 \ Debug \ HelloWorld.exe