SignTool là gì? Công cụ ký số ứng dụng của Microsoft dành cho Code Signing

SignTool là gì? Công cụ ký số ứng dụng của Microsoft dành cho Code Signing

Cập nhật lần cuối: 15/08/2026

SignTool là công cụ dòng lệnh do Microsoft cung cấp trong Windows SDK, được sử dụng để ký số (Code Signing) và xác minh chữ ký số của các tệp như EXE, DLL, MSI và CAB. Đây là công cụ tiêu chuẩn được nhiều nhà phát triển và doanh nghiệp sử dụng để triển khai Code Signing trên Windows.

SignTool là gì?

SignTool là công cụ dòng lệnh (Command-line Tool) do Microsoft phát triển và cung cấp trong Windows SDK, dùng để ký số (Code Signing) và xác minh chữ ký số của các tệp thực thi trên Windows.

Thông qua SignTool, nhà phát triển có thể sử dụng Code Signing Certificate để ký các tệp như EXE, DLL, MSI, CAB và nhiều định dạng khác nhằm xác minh danh tính nhà phát hành cũng như đảm bảo tính toàn vẹn của phần mềm.

Đây là công cụ tiêu chuẩn được Microsoft khuyến nghị sử dụng trong quá trình phát hành phần mềm trên nền tảng Windows.

SignTool không tạo ra Code Signing Certificate mà sử dụng chứng chỉ đã được cấp bởi Certificate Authority (CA) hoặc được lưu trữ trong HSM, USB Token hoặc Windows Certificate Store.


Xem thêm: Code Signing Certificate là gì?


SignTool dùng để làm gì?

SignTool hỗ trợ nhiều tác vụ liên quan đến Code Signing trong quá trình phát triển và phát hành phần mềm.

  • Ký số tệp thực thi.
  • Xác minh chữ ký số.
  • Gắn Timestamp cho chữ ký số.
  • Kiểm tra trạng thái chứng chỉ.
  • Quản lý nhiều chữ ký số trên cùng một tệp.

Nhờ đó, SignTool thường được tích hợp vào quy trình Build, CI/CD hoặc Release Automation.

Những định dạng tệp mà SignTool hỗ trợ

SignTool có thể ký nhiều loại tệp trên Windows.

Định dạng Mục đích
EXE Ứng dụng Windows
DLL Thư viện động
MSI Bộ cài đặt Windows Installer
CAB Tệp Cabinet
OCX ActiveX Control
SYS Driver Windows (tùy trường hợp)

Một số loại tệp hoặc trình điều khiển (Driver) có thể yêu cầu quy trình ký số riêng theo chính sách của Microsoft.


Xem thêm: Digital Signature là gì?


SignTool hoạt động như thế nào?

Khi thực hiện lệnh ký số, SignTool sẽ sử dụng Private Key tương ứng với Code Signing Certificate để tạo chữ ký số cho tệp.

Mô hình hoạt động:

Application File
       │
       ▼
SignTool
       │
       ├── Code Signing Certificate
       ├── Private Key
       ├── Hash File
       └── Timestamp Server (tùy chọn)
       │
       ▼
Signed Application

Sau khi ký, mọi thay đổi đối với nội dung tệp sẽ làm chữ ký số không còn hợp lệ.


Xem thêm: Public Key và Private Key là gì?


Các lệnh SignTool thường dùng

SignTool hỗ trợ nhiều lệnh khác nhau, trong đó phổ biến nhất là signverify.

1. Ký số ứng dụng

signtool sign /fd SHA256 /tr http://timestamp.digicert.com /td SHA256 /a app.exe

Lệnh trên yêu cầu SignTool tự động chọn chứng chỉ phù hợp, sử dụng thuật toán SHA-256 và thêm Timestamp từ máy chủ Timestamp.

2. Kiểm tra chữ ký số

signtool verify /pa app.exe

Lệnh này xác minh chữ ký số và kiểm tra xem ứng dụng có được ký hợp lệ hay không.

3. Hiển thị thông tin chi tiết

signtool verify /v /pa app.exe

Tùy chọn /v hiển thị thêm thông tin về chứng chỉ, chuỗi chứng chỉ và kết quả xác minh.


Xem thêm: Timestamp là gì?


SignTool có cần Timestamp không?

Mặc dù không bắt buộc, việc sử dụng Timestamp được khuyến nghị trong hầu hết các trường hợp.

Nếu không có Timestamp, chữ ký số có thể không còn được xác minh sau khi Code Signing Certificate hết hạn.

Timestamp giúp chứng minh thời điểm ký số và duy trì khả năng xác minh chữ ký nếu chứng chỉ vẫn còn hợp lệ tại thời điểm ký.

SignTool có thể sử dụng với HSM và USB Token không?

Có.

SignTool có thể làm việc với Private Key được lưu trong nhiều môi trường bảo mật khác nhau như:

  • USB Token.
  • Hardware Security Module (HSM).
  • Cloud HSM.
  • Windows Certificate Store.

Trong các trường hợp này, Private Key không cần xuất ra khỏi thiết bị bảo mật để thực hiện quá trình ký số.


Xem thêm: HSM là gì?


Ưu điểm của SignTool

  • Công cụ chính thức của Microsoft.
  • Được tích hợp trong Windows SDK.
  • Hỗ trợ nhiều định dạng tệp.
  • Hỗ trợ Timestamp.
  • Dễ tích hợp vào quy trình CI/CD.
  • Hoạt động với HSM, USB Token và Cloud Signing.

Hạn chế của SignTool

  • Hoạt động thông qua dòng lệnh.
  • Cần cài đặt Windows SDK.
  • Không tự cấp hoặc quản lý Code Signing Certificate.
  • Một số trường hợp yêu cầu cấu hình bổ sung khi sử dụng HSM hoặc Cloud Signing.

Xem thêm: Windows SDK là gì?


Những hiểu lầm phổ biến về SignTool

1. SignTool là phần mềm cấp Code Signing Certificate

Không.

SignTool chỉ sử dụng chứng chỉ đã được cấp để thực hiện ký số.

2. SignTool chỉ ký được tệp EXE

Không.

SignTool hỗ trợ nhiều định dạng như EXE, DLL, MSI, CAB và các loại tệp khác được Windows hỗ trợ.

3. Ký số bằng SignTool sẽ luôn vượt qua SmartScreen

Không.

Việc ký số giúp xác minh danh tính nhà phát hành nhưng Microsoft Defender SmartScreen còn đánh giá nhiều yếu tố khác như Application Reputation trước khi quyết định có hiển thị cảnh báo hay không.

4. Có thể chỉnh sửa tệp sau khi ký số

Không.

Bất kỳ thay đổi nào đối với nội dung của tệp sau khi ký đều có thể làm chữ ký số mất hiệu lực.


Xem thêm: Application Reputation là gì?


Kết luận

SignTool là công cụ ký số chính thức của Microsoft, được sử dụng rộng rãi để ký và xác minh chữ ký số cho các ứng dụng Windows. Với khả năng hỗ trợ Code Signing Certificate, Timestamp, HSM và nhiều định dạng tệp khác nhau, SignTool đóng vai trò quan trọng trong quy trình phát hành phần mềm hiện đại. Việc sử dụng đúng SignTool cùng với Code Signing Certificate hợp lệ sẽ giúp đảm bảo tính toàn vẹn của ứng dụng và xác minh danh tính nhà phát hành, mặc dù không đảm bảo ứng dụng sẽ luôn vượt qua các cơ chế đánh giá như Microsoft Defender SmartScreen.

Bài viết mới nhất

Timestamp Server là gì? Cách hoạt động và vai trò trong Code Signing Code Signing Certificate và SSL Certificate khác nhau như thế nào? Điều gì xảy ra khi Code Signing Certificate bị thu hồi? Điều gì xảy ra khi Code Signing Certificate hết hạn? Code Signing hoạt động như thế nào? Quy trình ký và xác minh chữ ký số

Có thể bạn quan tâm

Gọi điện
Zalo
Google Maps