คู่มือการใช้เครื่องมือบรรทัดคำสั่ง 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 ของเซิร์ฟเวอร์ประทับเวลาที่ใช้สำหรับลายเซ็น SHA1 ตั้งค่าเป็นสตริงว่าง "" เพื่อปิดใช้งานได้ | |
| --timestamp-rfc3161 | ไม่ | URL ของเซิร์ฟเวอร์ประทับเวลา RFC 3161 ที่ใช้สำหรับลายเซ็น SHA256 ตั้งค่าเป็นสตริงว่าง "" เพื่อปิดใช้งานได้ | |
| --desc | -n | ไม่ | ข้อมูลคำอธิบายโปรแกรม ข้อมูลนี้จะฝังอยู่ในลายเซ็น และอาจแสดงในข้อความแจ้งเตือนความปลอดภัยของระบบดังนี้: ![]() |
| --url | -u | ไม่ | ลิงก์ข้อมูลอย่างเป็นทางการของโปรแกรม |
| --verify | ไม่ | ตรวจสอบความถูกต้องของลายเซ็นไฟล์ทันทีหลังจากการลงนาม | |
| --dry-run | ไม่ | โหมดทดลองใช้ ในโหมดนี้จะใช้ใบรับรองแบบลงนามด้วยตนเองเพื่อตรวจสอบกระบวนการลงนาม โดยคีย์การเข้าถึงและหมายเลขการสมัครใช้บริการที่เกี่ยวข้องสามารถกรอกอะไรก็ได้ |
เกี่ยวกับพารามิเตอร์ค่าบูลีน
สำหรับพารามิเตอร์ที่รับค่า true/false (เช่น --sha1, --nest) ต้องใช้รูปแบบ พารามิเตอร์=ค่า ไม่รองรับการคั่นด้วยช่องว่าง
- ถูกต้อง: --sha1=true --sha2=false
- ไม่ถูกต้อง: --sha1 true --sha2 false

