Code Signing Certificate là gì?

Code Signing Certificate là gì?

Cập nhật lần cuối: 22/07/2026

Code Signing Certificate là chứng chỉ số dùng để ký điện tử phần mềm, ứng dụng và mã nguồn nhằm xác thực nhà phát hành, đảm bảo tính toàn vẹn của tệp và giúp người dùng nhận biết phần mềm chưa bị chỉnh sửa sau khi phát hành.

Code Signing Certificate là gì?

Code Signing Certificate là một chứng chỉ số (Digital Certificate) được sử dụng để ký điện tử các tệp thực thi, phần mềm, ứng dụng, trình điều khiển (Driver), script hoặc các gói cài đặt trước khi phân phối đến người dùng.

Việc ký mã giúp xác thực danh tính của nhà phát triển hoặc tổ chức phát hành phần mềm, đồng thời đảm bảo rằng nội dung của tệp không bị thay đổi kể từ thời điểm ký.

Code Signing Certificate được phát hành bởi Certificate Authority (CA) sau khi hoàn tất quá trình xác minh danh tính của người hoặc tổ chức đăng ký.

Code Signing Certificate hoạt động như "con dấu điện tử" của phần mềm, giúp người dùng xác minh nguồn gốc của ứng dụng và phát hiện nếu tệp đã bị sửa đổi hoặc giả mạo sau khi được phát hành.


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


Code Signing Certificate hoạt động như thế nào?

Sau khi hoàn thành việc phát triển phần mềm, nhà phát triển sẽ sử dụng Private Key tương ứng với Code Signing Certificate để tạo chữ ký số cho tệp.

Khi người dùng tải hoặc chạy ứng dụng, hệ điều hành sẽ kiểm tra chữ ký số trước khi cho phép chương trình được thực thi.

Software Developer
        │
        ▼
Sign Application
using Private Key
        │
        ▼
Signed Software
        │
        ▼
User Downloads
        │
        ▼
Verify Digital Signature
        │
        ▼
Trusted Application

Nếu chữ ký hợp lệ, chứng chỉ còn hiệu lực (hoặc có Timestamp hợp lệ) và được phát hành bởi một CA đáng tin cậy, phần mềm sẽ được xác nhận là chưa bị thay đổi kể từ thời điểm ký.

Code Signing Certificate chứa những thông tin gì?

Một Code Signing Certificate bao gồm nhiều thông tin quan trọng giúp hệ điều hành và phần mềm xác minh danh tính của nhà phát hành.

Thông tin Mô tả
Subject Tên cá nhân hoặc tổ chức sở hữu chứng chỉ
Issuer Certificate Authority phát hành
Validity Thời gian hiệu lực
Public Key Khóa công khai dùng để xác minh chữ ký số
Serial Number Số sê-ri của chứng chỉ
Signature Algorithm Thuật toán chữ ký số
Key Usage Mục đích sử dụng là Code Signing

Những thông tin này giúp hệ điều hành xác minh chữ ký số trước khi cho phép ứng dụng được thực thi.

Code Signing Certificate không chứa Private Key

Một hiểu lầm phổ biến là Code Signing Certificate chứa cả Public Key và Private Key.

Thực tế:

  • Code Signing Certificate chỉ chứa Public Key.
  • Private Key được lưu riêng bởi nhà phát triển hoặc trong HSM, USB Token hay các hệ thống quản lý khóa an toàn.
Code Signing Certificate
          │
          ├── Public Key
          │
          ▼
Private Key
(HSM / USB Token)

Nếu Private Key bị lộ, kẻ tấn công có thể sử dụng khóa đó để ký các phần mềm độc hại dưới danh nghĩa của nhà phát hành.


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


Vai trò của Timestamp trong Code Signing

Timestamp (đóng dấu thời gian) giúp chứng minh thời điểm phần mềm được ký số.

Sau khi tạo chữ ký số, công cụ ký sẽ gửi yêu cầu đến Timestamp Authority (TSA) để nhận dấu thời gian.

Developer
     │
     ▼
Sign Software
     │
     ▼
Timestamp Server
     │
     ▼
Timestamp Added
     │
     ▼
Signed Application

Nhờ Timestamp, chữ ký số vẫn có thể được xem là hợp lệ ngay cả khi Code Signing Certificate đã hết hạn, miễn là chứng chỉ còn hiệu lực tại thời điểm ký và chưa bị thu hồi.


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


Các loại Code Signing Certificate phổ biến

Loại chứng chỉ Đối tượng phù hợp
Standard Code Signing Nhà phát triển cá nhân và doanh nghiệp
EV Code Signing Doanh nghiệp cần mức độ xác thực cao và tăng uy tín phần mềm

Hiện nay, nhiều Certificate Authority yêu cầu Private Key của Code Signing Certificate phải được lưu trữ trong thiết bị hoặc dịch vụ đạt chuẩn bảo mật như HSM nhằm giảm nguy cơ bị đánh cắp.


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


Lợi ích của Code Signing Certificate

  • Xác thực danh tính của nhà phát hành phần mềm.
  • Đảm bảo tính toàn vẹn của ứng dụng.
  • Giúp người dùng nhận biết phần mềm chưa bị chỉnh sửa.
  • Tăng độ tin cậy đối với hệ điều hành và người dùng.
  • Bảo vệ thương hiệu khỏi các phần mềm giả mạo.

Code Signing Certificate khác gì SSL Certificate?

Tiêu chí Code Signing Certificate SSL Certificate
Mục đích Ký phần mềm và mã nguồn Bảo vệ kết nối HTTPS
Đối tượng bảo vệ Tệp và ứng dụng Website và máy chủ
Xác thực Nhà phát hành phần mềm Tên miền hoặc tổ chức
Ứng dụng EXE, DLL, MSI, Driver, Script HTTPS, TLS

Mặc dù đều là chứng chỉ số X.509 được phát hành bởi Certificate Authority, hai loại chứng chỉ này phục vụ các mục đích hoàn toàn khác nhau.


Xem thêm: SSL Certificate là gì?


Làm sao kiểm tra một phần mềm đã được ký hay chưa?

Kiểm tra trên Windows

Nhấp chuột phải vào tệp, chọn Properties rồi mở tab Digital Signatures.

Tại đây bạn có thể xem:

  • Tên nhà phát hành.
  • Certificate Authority.
  • Thời gian ký.
  • Trạng thái của chữ ký số.

Kiểm tra bằng SignTool

signtool verify /pa application.exe

Lệnh trên sẽ xác minh chữ ký số của tệp và kiểm tra chuỗi chứng chỉ.


Xem thêm: SignTool là gì?


Khi nào cần cấp lại Code Signing Certificate?

Một số trường hợp cần cấp mới hoặc thay thế chứng chỉ.

  • Chứng chỉ sắp hết hạn.
  • Private Key bị lộ.
  • Thay đổi thông tin tổ chức.
  • Chứng chỉ bị thu hồi (Revoke).
  • Thay đổi yêu cầu bảo mật của Certificate Authority.

Sau khi được cấp chứng chỉ mới, các phiên bản phần mềm phát hành tiếp theo nên được ký bằng chứng chỉ mới để duy trì tính tin cậy.


Xem thêm: Certificate Revocation là gì?


Kết luận

Code Signing Certificate là chứng chỉ số giúp xác thực danh tính của nhà phát hành và bảo vệ tính toàn vẹn của phần mềm thông qua chữ ký số. Bằng cách sử dụng Code Signing Certificate kết hợp với Timestamp và quản lý Private Key an toàn, nhà phát triển có thể nâng cao độ tin cậy của ứng dụng, giảm nguy cơ bị giả mạo và giúp người dùng an tâm hơn khi cài đặt hoặc sử dụng phần mềm.

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