การนำทาง
บริการลงนามโค้ดระยะไกลมีเครื่องมือไคลเอนต์หลากหลาย System Provider อินเทอร์เฟซสำหรับนักพัฒนา และวิธีการผสานรวมอัตโนมัติ
หากคุณไม่แน่ใจว่าควรเลือกวิธีใด สามารถเริ่มจากสถานการณ์การใช้งานดังต่อไปนี้
วิธีเลือกวิธีการผสานรวม
| สถานการณ์การใช้งาน | วิธีที่แนะนำ |
|---|---|
| ใช้เครื่องมือบรรทัดคำสั่งอย่างเป็นทางการเพื่อลงนามไฟล์ EXE, DLL, MSI และไฟล์อื่น ๆ โดยตรง | เครื่องมือไคลเอนต์ |
| ติดตั้งไคลเอนต์ลงนามโค้ดผ่าน Homebrew บน macOS | เครื่องมือไคลเอนต์ |
| เครื่องมือ Windows เช่น Microsoft SignTool, Visual Studio, MSBuild จำเป็นต้องใช้คีย์ส่วนตัวระยะไกลโดยตรง | Windows Provider |
| ต้องการความเข้ากันได้กับแอปพลิเคชัน Windows CryptoAPI / CSP แบบดั้งเดิม | Windows Provider |
ใช้ jarsigner เพื่อลงนามไฟล์ Java JAR | การผสานรวม Java |
| ลงนามโค้ดโดยอัตโนมัติใน GitHub Actions | CI/CD และเครื่องมือ build |
| ใช้ Electron Builder เพื่อลงนามแอปพลิเคชัน Windows โดยอัตโนมัติ | CI/CD และเครื่องมือ build |
| การใช้ Advanced Installer เพื่อสร้างและลงนามแพ็กเกจการติดตั้ง | CI/CD และเครื่องมือบิลด์ |
| การพัฒนาคอมโพเนนต์ไคลเอนต์ด้วยตนเองหรือเรียกใช้บริการลงนามระยะไกลโดยตรง | การผสานรวม API |
| การสอบถามจำนวนครั้งการลงนาม เซิร์ฟเวอร์ timestamp และข้อมูลสาธารณะอื่นๆ | เอกสารอ้างอิง |
เครื่องมือไคลเอนต์
เหมาะสำหรับผู้ใช้ที่ต้องการใช้ไคลเอนต์อย่างเป็นทางการของ sslTrus เพื่อดำเนินการลงนามโค้ดโดยตรง
ส่วนใหญ่ประกอบด้วย:
- SignTool CLI: ลงนามไฟล์โดยตรงผ่านบรรทัดคำสั่ง
- การสอบถามโควตาการลงนาม: สอบถามจำนวนครั้งการลงนามทั้งหมดและที่เหลือของใบรับรอง
- การอัปเดตไคลเอนต์: สอบถามและติดตั้งเวอร์ชันล่าสุด
- Homebrew: ติดตั้ง CLI หรือเดสก์ท็อปไคลเอนต์บน macOS
Windows Provider
เหมาะสำหรับ Microsoft SignTool, Visual Studio, MSBuild, เครื่องมือแพ็กเกจการติดตั้ง และซอฟต์แวร์อื่นๆ ที่รองรับ Windows Cryptography API
มี Provider สองแบบ:
- KSP (Key Storage Provider): อิงตาม Windows CNG เหมาะสำหรับขั้นตอนการลงนามบน Windows สมัยใหม่
- CSP (Cryptographic Service Provider): อิงตาม CryptoAPI แบบดั้งเดิม เหมาะสำหรับแอปพลิเคชันที่ต้องการความเข้ากันได้กับ CSP
คีย์ส่วนตัวสำหรับการลงนามจะถูกเก็บไว้ใน HSM บนคลาวด์เสมอ ส่วน Provider ในเครื่องมีหน้าที่ส่งคำขอการลงนามไปยังบริการลงนามโค้ดระยะไกล
การผสานรวม Java
เหมาะสำหรับสถานการณ์การลงนามโค้ด Java
ด้วย Java Provider ที่ sslTrus ให้มา คุณสามารถใช้เครื่องมือ jarsigner มาตรฐานเพื่อดำเนินการลงนามโค้ดระยะไกลบนไฟล์ JAR
CI/CD และเครื่องมือบิลด์
เหมาะสำหรับสถานการณ์ที่ต้องการผสานรวมการลงนามโค้ดเข้ากับกระบวนการบิลด์ เผยแพร่ หรือแพ็กเกจอัตโนมัติ
ปัจจุบันประกอบด้วย:
- GitHub Actions
- Electron Builder
- Advanced Installer
วิธีการผสานรวมกับเครื่องมือ CI/CD หรือเครื่องมือบิลด์อื่นๆ ในภายหลังจะแสดงไว้ในหน้านี้เช่นกัน
การผสานรวม API
เหมาะสำหรับนักพัฒนาที่ต้องการพัฒนาคอมโพเนนต์ไคลเอนต์สำหรับการลงนามโค้ดด้วยตนเอง หรือผสานรวมความสามารถการลงนามระยะไกลเข้ากับระบบที่มีอยู่
API การลงนามโค้ดระยะไกลรองรับ:
- การส่งไดเจสต์ที่รอการลงนามและรับผลการลงนาม
- การรายงานสถานะการประมวลผลการลงนามขั้นสุดท้ายของไคลเอนต์
ผู้เรียกใช้มีหน้าที่คำนวณไดเจสต์ไฟล์ ประมวลผลโครงสร้างการลงนาม และเขียนผลการลงนามขั้นสุดท้ายในเครื่อง
เอกสารอ้างอิง
นี่คือข้อมูลอ้างอิงสาธารณะที่เหมาะสำหรับวิธีการผสานรวมหลากหลายรูปแบบ ได้แก่:
- คำอธิบายการคำนวณจำนวนครั้งในการลงนาม: อธิบายวิธีคำนวณจำนวนครั้งในการลงนามสำหรับสถานการณ์ต่าง ๆ เช่น CLI, KSP, CSP, Jarsigner, Electron และแพ็กเกจการติดตั้ง
- เซิร์ฟเวอร์ประทับเวลา: แนะนำ Authenticode, RFC 3161 และบริการประทับเวลาการลงนามโค้ดที่ใช้บ่อย