คู่มือการใช้งานเครื่องมือบรรทัดคำสั่ง SignTool
SignTool เป็นไคลเอนต์บรรทัดคำสั่งของบริการลงนามโค้ดระยะไกล sslTrus ใช้สำหรับดำเนินการลงนามโค้ดในเทอร์มินัลหรือสคริปต์อัตโนมัติ
เริ่มต้นอย่างรวดเร็ว
ต่อไปนี้คือตัวอย่างคำสั่งลงนามพื้นฐานที่สุด คุณสามารถคัดลอกและแก้ไขตามคำอธิบายประกอบก่อนใช้งาน:
# 视情况而定,是否需要开启调试模式
#export DEBUG=1
# 使用环境变量配置 AK、SK 以及证书订阅号
export SIGNTOOL_ACCESS_KEY='' SIGNTOOL_ACCESS_SECRET='' SIGNTOOL_CERT_CODE=''
# 签名
./signtool sign \
--dry-run \
--access-key=$SIGNTOOL_ACCESS_KEY \
--access-secret=$SIGNTOOL_ACCESS_SECRET \
--cert-code=$SIGNTOOL_CERT_CODE \
--file=app-unsigned.exe \
--out=app.exe \
--sha1=false \
--sha2=true \
--timestamp-rfc3161 http://timestamp.acs.microsoft.com
คำอธิบายคำสั่งโดยละเอียด
ก่อนเริ่มต้น คุณต้องเตรียมข้อมูลสามรายการต่อไปนี้:
ดูวิธีใช้
ใช้พารามิเตอร์ -h หรือ --help เพื่อดูวิธีใช้คำสั่งแบบเต็ม
./signtool sign -h
การวิเคราะห์พารามิเตอร์หลัก
| พารามิเตอร์ | ตัวย่อ | บังคับหรือไม่ | คำอธิบายและตัวอย่าง |
|---|---|---|---|
| --access-key | -k | ใช่ | คีย์การเข้าถึง API สามารถตั้งค่าผ่านตัวแปรสภาพแวดล้อม SIGNTOOL_ACCESS_KEY ได้เช่นกัน |
| --access-secret | -s | ใช่ | คีย์การเข้าถึง API สามารถตั้งค่าผ่านตัวแปรสภาพแวดล้อม SIGNTOOL_ACCESS_SECRET ได้เช่นกัน |
| --cert-code | -c | ใช่ | หมายเลขการสมัครใช้บริการลงนามโค้ดระยะไกล ใช้ระบุใบรับรองการลงนามและการคิดค่าบริการ |
| --file | -f | ใช่ | พาธของไฟล์ที่ต้องการลงนาม ตัวอย่างเช่น: -f “app.dll” |
| --out | -o | ไม่ใช่ | พาธของไฟล์ผลลัพธ์ ค่าเริ่มต้นจะเพิ่ม .signed ต่อท้ายชื่อไฟล์เดิม สำคัญ: หากไฟล์มีอยู่แล้ว การดำเนินการจะล้มเหลว |
| --override | ไม่ใช่ | จะเขียนทับพาธของไฟล์ที่ต้องการลงนามหรือไม่ ค่าเริ่มต้นคือ false | |
| --sha1 | -1 | ไม่ใช่ | เปิดใช้งานการลงนามด้วยอัลกอริทึม SHA1 (ใช้สำหรับความเข้ากันได้กับระบบเก่า) |
| --sha2 | -2 | ไม่ใช่ | เปิดใช้งานการลงนามด้วยอัลกอริทึม SHA256 (มาตรฐานสมัยใหม่ แนะนำให้เปิดใช้งาน) |
| --nest | ไม่ใช่ | จะลงนามแบบซ้อนหรือไม่ เมื่อไฟล์มีลายเซ็นอยู่แล้ว --nest=true (ค่าเริ่มต้น) จะเก็บลายเซ็นเดิมไว้และเพิ่มลายเซ็นใหม่ ส่วน false จะลบลายเซ็นเก่า ผลลัพธ์เปรียบเทียบดังนี้: ![]() | |
| --timestamp | ไม่ใช่ | URL ของเซิร์ฟเวอร์ timestamp ที่ใช้สำหรับการลงนาม SHA1 ตั้งค่าเป็นสตริงว่าง "" เพื่อปิดใช้งาน | |
| --timestamp-rfc3161 | ไม่ใช่ | URL ของเซิร์ฟเวอร์ timestamp ตาม RFC 3161 ที่ใช้สำหรับการลงนาม SHA256 ตั้งค่าเป็นสตริงว่าง "" เพื่อปิดใช้งาน | |
| --desc | -n | ไม่ใช่ | ข้อมูลคำอธิบายโปรแกรม ข้อมูลนี้จะฝังอยู่ในลายเซ็นและอาจปรากฏในคำเตือนความปลอดภัยของระบบดังนี้: ![]() |
| --url | -u | ไม่ใช่ | ลิงก์ข้อมูลอย่างเป็นทางการของโปรแกรม |
| --verify | ไม่ใช่ | ตรวจสอบทันทีหลังลงนามว่าลายเซ็นไฟล์ถูกต้องหรือไม่ | |
| --dry-run | ไม่ใช่ | โหมดทดลองใช้ ในโหมดนี้จะใช้ใบรับรองแบบ self-signed เพื่อตรวจสอบขั้นตอนการลงนาม คีย์การเข้าถึงและหมายเลขการสมัครใช้บริการที่เกี่ยวข้องสามารถกรอกค่าใดก็ได้ |
เกี่ยวกับพารามิเตอร์แบบบูลีน
สำหรับพารามิเตอร์ที่รับค่า true/false (เช่น --sha1, --nest) ต้องใช้รูปแบบ พารามิเตอร์=ค่า โดยไม่รองรับการคั่นด้วยช่องว่าง
- ถูกต้อง: --sha1=true --sha2=false
- ไม่ถูกต้อง: --sha1 true --sha2 false

