Điều gì xảy ra khi Code Signing Certificate bị thu hồi?

Điều gì xảy ra khi Code Signing Certificate bị thu hồi?

Cập nhật lần cuối: 11/09/2026

Code Signing Certificate bị thu hồi (revoke) có thể ảnh hưởng như thế nào đến việc ký và xác minh phần mềm? Tìm hiểu nguyên nhân revoke, vai trò của timestamp, Private Key và cách xử lý khi certificate bị thu hồi.

Code Signing Certificate bị thu hồi là gì?

Code Signing Certificate bị thu hồi (revoke) là trường hợp Certificate Authority (CA) chủ động thay đổi trạng thái của certificate để không còn coi certificate đó là một chứng thư đang hợp lệ trước thời điểm hết hạn thông thường.

Certificate có thể bị thu hồi theo yêu cầu của chủ sở hữu hoặc do CA phát hiện một vấn đề liên quan đến Private Key, thông tin certificate, quá trình cấp phát hoặc việc sử dụng certificate.

Thu hồi certificate khác với Expired. Certificate hết hạn khi thời gian hiệu lực kết thúc, trong khi certificate bị revoke có thể mất trạng thái hợp lệ trước ngày hết hạn.

Trạng thái Ý nghĩa
Valid Certificate đang trong thời gian hiệu lực và chưa bị thu hồi.
Expired Certificate đã vượt quá thời gian hiệu lực được cấp.
Revoked Certificate đã bị CA thu hồi trước khi thời hạn hiệu lực kết thúc.

Certificate bị thu hồi không đồng nghĩa mọi phần mềm đã ký bằng certificate đó lập tức ngừng chạy. Ảnh hưởng thực tế phụ thuộc vào thời điểm ký, timestamp, trạng thái revocation và cách hệ thống xác minh chữ ký.


Xem thêm: Điều gì xảy ra khi Code Signing Certificate hết hạn?


Vì sao Code Signing Certificate bị thu hồi?

Code Signing Certificate có thể bị CA thu hồi vì nhiều nguyên nhân khác nhau. Trong đó, trường hợp liên quan đến Private Key thường cần được ưu tiên xử lý vì có thể ảnh hưởng trực tiếp đến tính toàn vẹn của các file đã được ký.

Một số nguyên nhân phổ biến gồm:

  • Private Key bị lộ hoặc bị nghi ngờ đã bị compromise.
  • Chủ sở hữu yêu cầu CA thu hồi certificate.
  • Thông tin được sử dụng để cấp certificate không còn chính xác hoặc phù hợp.
  • Phát hiện vấn đề trong quá trình cấp hoặc xác minh certificate.
  • Certificate được sử dụng không phù hợp với các yêu cầu hoặc chính sách của CA.
  • Phát hiện hành vi sử dụng certificate có nguy cơ ảnh hưởng đến người dùng.
  • Có sự thay đổi liên quan đến chủ thể hoặc quyền kiểm soát certificate.

Không phải mọi trường hợp revoke đều có cùng mức độ ảnh hưởng. Vì vậy, bước đầu tiên khi phát hiện certificate bị thu hồi là xác định lý do revoke.

Private Key bị lộ có thể khiến Certificate bị thu hồi không?

Có. Private Key bị compromise là một trong những tình huống nghiêm trọng nhất đối với Code Signing Certificate.

Code Signing sử dụng Private Key để tạo chữ ký số. Nếu một bên không được phép có được Private Key, họ có thể sử dụng khóa đó để tạo chữ ký cho các file khác.

Private Key bị compromise
       │
       ▼
Attacker obtains key
       │
       ▼
Create malicious file
       │
       ▼
Sign with compromised key
       │
       ▼
Certificate appears in signature
       │
       ▼
Potential security incident

Trong trường hợp này, việc tiếp tục sử dụng certificate có thể tạo rủi ro cho người dùng và hệ thống phân phối phần mềm. Do đó, cần dừng việc signing và xử lý certificate thay vì chờ certificate tự hết hạn.


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


Certificate bị thu hồi khác Certificate hết hạn như thế nào?

Hai trạng thái này đều khiến certificate không còn ở trạng thái Valid tại thời điểm kiểm tra, nhưng nguyên nhân và thời điểm xảy ra hoàn toàn khác nhau.

Certificate Expired

Start ───────────────── Expiry
                          │
                          ▼
                       Expired


Certificate Revoked

Start ───────── Revoke
                  │
                  ▼
               Revoked

Ví dụ, một Code Signing Certificate có thời hạn đến tháng 12/2027 nhưng Private Key bị phát hiện đã bị compromise vào tháng 8/2026. CA có thể thu hồi certificate vào tháng 8/2026 thay vì chờ đến tháng 12/2027.

Tiêu chí Expired Revoked
Nguyên nhân Hết thời hạn hiệu lực CA thu hồi certificate
Thời điểm Khi đến ngày hết hạn Có thể xảy ra trước ngày hết hạn
Private Key bị compromise Không phải nguyên nhân bắt buộc Có thể là nguyên nhân quan trọng
Ký release mới Không nên sử dụng certificate đã hết hạn Không nên sử dụng certificate đã bị thu hồi

Điều gì xảy ra khi Code Signing Certificate bị thu hồi?

Ảnh hưởng của việc certificate bị thu hồi phụ thuộc vào thời điểm certificate bị revoke, thời điểm chữ ký được tạo và các thông tin được lưu trong chữ ký.

Đối với các bản phát hành mới, certificate đã bị revoke không nên tiếp tục được sử dụng để ký.

Certificate Revoked
       │
       ▼
Stop New Signing
       │
       ▼
Determine Revoke Reason
       │
       ▼
Obtain Replacement Certificate
       │
       ▼
Configure Signing Environment
       │
       ▼
Sign New Release
       │
       ▼
Timestamp
       │
       ▼
Verify
       │
       ▼
Release

Đối với các phần mềm đã ký trước thời điểm revoke, không nên chỉ nhìn vào trạng thái hiện tại của certificate để kết luận chữ ký còn hợp lệ hay không. Cần xem xét thêm signing time, timestamp, thông tin revocation và chính sách xác minh của nền tảng.

Phần mềm đã ký có ngừng chạy khi Certificate bị thu hồi không?

Không thể kết luận rằng phần mềm sẽ tự động ngừng chạy chỉ vì Code Signing Certificate bị revoke.

Code Signing chủ yếu liên quan đến việc xác minh nguồn gốc và tính toàn vẹn của file. Việc một certificate bị thu hồi không đồng nghĩa hệ điều hành sẽ tự động xóa hoặc vô hiệu hóa mọi file đã từng được ký bằng certificate đó.

Cần phân biệt các vấn đề sau:

  • File có còn nguyên vẹn hay không.
  • Chữ ký số có xác minh được hay không.
  • Certificate trong chữ ký có được xem là đáng tin cậy hay không.
  • Certificate bị revoke vào thời điểm nào.
  • Chữ ký được tạo vào thời điểm nào.
  • Chữ ký có timestamp hay không.
  • Nền tảng và chính sách xác minh đang áp dụng là gì.
Application.exe
      │
      ▼
Signed with Certificate A
      │
      ▼
Certificate A later revoked
      │
      ▼
Existing file remains
      │
      ▼
Signature verification
      │
      ▼
Evaluate signing time,
timestamp and revocation status

Vì vậy, cần đánh giá từng trường hợp cụ thể thay vì kết luận rằng toàn bộ phần mềm cũ sẽ không thể chạy.

Timestamp có vai trò gì khi Code Signing Certificate bị thu hồi?

Timestamp cung cấp thông tin về thời điểm chữ ký được tạo và là thành phần quan trọng khi đánh giá chữ ký Code Signing sau này.

Khi signing, timestamp server có thể tạo timestamp token chứa thông tin xác nhận thời điểm ký. Thông tin này giúp hệ thống có cơ sở xác định chữ ký đã được tạo tại thời điểm nào.

Software
    │
    ▼
Sign with Private Key
    │
    ▼
Timestamp Server
    │
    ▼
Timestamp Token
    │
    ▼
Signed Software

Ví dụ:

01/06/2026
Certificate valid
      │
      ▼
Software signed
      │
      ▼
Timestamp: 01/06/2026
      │
      │
01/08/2026
      │
      ▼
Certificate revoked

Trong trường hợp này, timestamp cung cấp bằng chứng về thời điểm chữ ký được tạo, trước thời điểm certificate bị revoke.

Tuy nhiên, timestamp không có nghĩa là mọi chữ ký được tạo trước thời điểm revoke sẽ luôn được xem là hợp lệ trong mọi tình huống. Kết quả xác minh còn phụ thuộc vào trạng thái revocation, loại timestamp, certificate chain, chính sách của hệ điều hành và các yếu tố liên quan.


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


Nếu file được ký sau khi Certificate đã bị thu hồi thì sao?

Không nên sử dụng certificate đã bị revoke để tạo chữ ký cho các file mới.

Ngay cả khi Private Key vẫn còn được lưu trong máy signing hoặc HSM, việc certificate đã bị CA thu hồi có nghĩa certificate đó không còn phù hợp để tiếp tục sử dụng cho các release mới.

Certificate Revoked
       │
       ▼
Private Key still available
       │
       ▼
Sign New File
       │
       ▼
New Digital Signature
       │
       ▼
Verification
       │
       ▼
Revocation status evaluated
       │
       ▼
Potential trust failure

Khi certificate bị revoke, nên chuyển sang certificate mới thay vì cố gắng tiếp tục sử dụng certificate cũ.

Có cần ký lại phần mềm đã phát hành khi Certificate bị thu hồi không?

Không phải mọi trường hợp đều cần ký lại toàn bộ phần mềm đã phát hành.

Việc có cần ký lại hay không phụ thuộc vào nguyên nhân revoke và trạng thái của các chữ ký hiện có.

Tình huống Hướng xử lý
File đã ký có timestamp trước thời điểm revoke Đánh giá chữ ký dựa trên signing time, timestamp và trạng thái revocation
File đã ký nhưng không có timestamp Cần đánh giá kỹ hơn vì khó xác định thời điểm ký
Release mới chưa được ký Sử dụng certificate mới
Private Key bị compromise Đánh giá toàn bộ các file đã ký bằng Private Key đó
File cần thay đổi nội dung Ký lại file bằng certificate và Private Key phù hợp

Đặc biệt, nếu certificate bị revoke do Private Key bị compromise, vấn đề không chỉ nằm ở certificate mà còn liên quan đến mức độ tin cậy của tất cả chữ ký được tạo bằng Private Key đó.

Private Key bị compromise thì cần xử lý như thế nào?

Nếu có bằng chứng hoặc nghi ngờ Private Key đã bị compromise, không nên chỉ mua một certificate mới rồi tiếp tục sử dụng Private Key cũ.

Quy trình xử lý nên bắt đầu bằng việc dừng signing bằng key có nguy cơ bị lộ.

Private Key Compromise
        │
        ▼
Stop Signing
        │
        ▼
Secure / Isolate Old Key
        │
        ▼
Contact CA
        │
        ▼
Revoke Certificate
        │
        ▼
Generate New Key Pair
        │
        ▼
Obtain New Certificate
        │
        ▼
Review Existing Releases
        │
        ▼
Assess Impact
        │
        ▼
Re-sign / Re-release when necessary

Doanh nghiệp cũng nên kiểm tra lịch sử signing để xác định những file nào đã được ký bằng Private Key bị compromise và đánh giá khả năng các file này đã bị sử dụng ngoài dự kiến.

Có thể dùng lại Private Key cũ với Certificate mới không?

Điều này phụ thuộc vào nguyên nhân khiến certificate cũ bị revoke.

Nếu certificate bị thu hồi vì một lý do không liên quan đến Private Key, việc tiếp tục sử dụng key có thể được xem xét theo yêu cầu của CA và chính sách bảo mật của tổ chức.

Tuy nhiên, nếu certificate bị revoke do Private Key bị compromise hoặc nghi ngờ bị compromise, không nên sử dụng lại Private Key đó.

Old Private Key
      │
      ▼
Compromised
      │
      ▼
Do Not Reuse

New Key Pair
      │
      ├── New Private Key
      │
      └── New Public Key
              │
              ▼
       New Code Signing Certificate

Việc tạo một key pair mới giúp loại bỏ sự phụ thuộc vào Private Key đã có nguy cơ bị lộ.

Certificate bị thu hồi có ảnh hưởng đến Certificate Chain không?

Certificate bị revoke không có nghĩa toàn bộ Certificate Chain đều bị thu hồi.

Trong một chuỗi chứng thư thông thường, Code Signing Certificate của Publisher nằm dưới Intermediate CA và Root CA.

Root CA
   │
   ▼
Intermediate CA
   │
   ▼
Code Signing Certificate
   │
   ▼
Digital Signature
   │
   ▼
Signed Software

Nếu Code Signing Certificate của Publisher bị revoke, điều đó không đồng nghĩa Intermediate CA hoặc Root CA cũng bị revoke.

Tuy nhiên, quá trình xác minh chữ ký có thể kiểm tra cả certificate chain và trạng thái revocation của các certificate liên quan. Vì vậy, khi kiểm tra một chữ ký, cần đánh giá toàn bộ chain thay vì chỉ nhìn vào certificate của Publisher.


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


Cách kiểm tra Code Signing Certificate có bị thu hồi không

Trên Windows, có thể mở thông tin chữ ký số của file để xem certificate và trạng thái xác minh.

Right Click File
      │
      ▼
Properties
      │
      ▼
Digital Signatures
      │
      ▼
Select Signature
      │
      ▼
Details
      │
      ▼
View Certificate

Tại phần Digital Signatures, người quản trị có thể kiểm tra chữ ký, Publisher, certificate và các thông tin liên quan.

Để đánh giá chính xác hơn, cần kiểm tra thêm thông tin timestamp và trạng thái revocation của certificate. Các cơ chế như OCSPCRL có thể được sử dụng để cung cấp hoặc kiểm tra thông tin thu hồi tùy theo certificate và hạ tầng CA.

Kiểm tra chữ ký Code Signing bằng SignTool

SignTool là công cụ của Microsoft có thể sử dụng để xác minh chữ ký Authenticode trên các file Windows.

signtool verify /pa /v "Application.exe"

Lệnh trên giúp kiểm tra chữ ký và cung cấp thêm thông tin về certificate chain, chữ ký và các thành phần liên quan.

Khi phân tích một file có certificate bị revoke, không nên chỉ dựa vào một dòng kết quả của SignTool. Cần kết hợp kết quả verify với thông tin timestamp, signing time và trạng thái revocation để đánh giá chính xác hơn.


Xem thêm: Cách kiểm tra và xác minh chữ ký bằng SignTool


Certificate bị thu hồi có thể sử dụng để ký file mới không?

Không nên.

Sau khi certificate bị CA revoke, certificate đó không nên tiếp tục được sử dụng cho các bản phát hành mới.

Quy trình signing nên chuyển sang certificate mới:

Old Certificate
      │
      ▼
Revoked
      │
      ▼
Stop Using
      │
      ▼
New Key Pair when required
      │
      ▼
New Certificate
      │
      ▼
Signing Environment
      │
      ▼
Sign + Timestamp
      │
      ▼
Verify
      │
      ▼
Release

Việc sử dụng certificate mới cũng cần đi kèm với việc kiểm tra lại Private Key, signing environment và quy trình timestamp.

Certificate bị thu hồi ảnh hưởng đến CI/CD như thế nào?

Nếu Code Signing được tích hợp vào CI/CD, certificate bị revoke có thể khiến bước signing hoặc verification không còn hoạt động như trước.

CI/CD
  │
  ▼
Build
  │
  ▼
Test
  │
  ▼
Sign
  │
  ▼
Verify
  │
  ├── Certificate OK
  │       │
  │       ▼
  │     Release
  │
  └── Certificate Revoked
          │
          ▼
     Verification Issue
          │
          ▼
      Stop Release

Do đó, hệ thống CI/CD nên có quy trình quản lý vòng đời certificate, lưu trữ Private Key an toàn, kiểm tra trạng thái certificate và có phương án thay thế certificate khi cần.

Đối với hệ thống signing tự động, việc thay certificate cũng cần được kiểm thử trước khi release để tránh làm gián đoạn pipeline.

Cần làm gì khi phát hiện Code Signing Certificate bị thu hồi?

Khi phát hiện certificate bị revoke, nên xác định nguyên nhân trước khi quyết định có cần ký lại các bản phát hành cũ hay không.

  • Dừng sử dụng certificate bị revoke để ký release mới.
  • Xác định lý do certificate bị thu hồi.
  • Kiểm tra xem Private Key có bị compromise hay không.
  • Liên hệ CA để xác minh thông tin revoke khi cần.
  • Kiểm tra các file đã được ký bằng certificate.
  • Kiểm tra timestamp và signing time của các release cũ.
  • Đánh giá trạng thái revocation của các chữ ký.
  • Đánh giá mức độ ảnh hưởng đối với người dùng.
  • Đăng ký certificate mới cho các release tiếp theo.
  • Tạo Private Key mới nếu key cũ bị compromise.
  • Cập nhật certificate trong hệ thống CI/CD hoặc signing server.
  • Test và verify certificate mới trước khi phát hành.

Những hiểu lầm phổ biến về Code Signing Certificate bị thu hồi

1. Certificate bị revoke cũng giống certificate hết hạn

Không. Expired xảy ra khi certificate vượt quá thời hạn hiệu lực. Revoked là trạng thái được CA xác lập khi certificate bị thu hồi trước khi hết hạn.

2. Certificate bị revoke thì mọi phần mềm đã ký đều lập tức không chạy

Không thể kết luận như vậy. Việc xác minh chữ ký còn phụ thuộc vào thời điểm ký, timestamp, trạng thái revocation và chính sách của hệ thống.

3. Chỉ cần mua certificate mới là giải quyết được vấn đề

Không phải trong mọi trường hợp. Nếu nguyên nhân revoke liên quan đến Private Key bị compromise, cần xử lý cả Private Key và đánh giá các file đã được ký bằng key đó.

4. Có thể tiếp tục dùng certificate bị revoke để ký file mới

Không nên. Certificate đã bị thu hồi không nên được sử dụng cho các bản phát hành mới.

5. Certificate mới sẽ thay thế certificate cũ trong các file đã ký

Không. Chữ ký đã tạo vẫn chứa thông tin của certificate được sử dụng tại thời điểm ký. Certificate mới chỉ được sử dụng cho các chữ ký mới hoặc các trường hợp cần ký lại.

6. Nếu Private Key vẫn còn thì có thể tiếp tục ký

Không. Việc Private Key vẫn còn trong máy signing không làm certificate đã bị revoke trở lại trạng thái hợp lệ. Nếu key còn tồn tại nhưng certificate đã bị thu hồi, certificate đó vẫn không nên được dùng cho signing mới.

Kết luận

Code Signing Certificate bị thu hồi là một tình huống cần được xử lý nghiêm túc, đặc biệt khi nguyên nhân liên quan đến Private Key bị compromise. Revoke khác với Expired ở chỗ certificate có thể bị CA thu hồi trước khi thời hạn hiệu lực kết thúc.

Certificate bị revoke không đồng nghĩa mọi phần mềm đã ký trước đó lập tức mất khả năng thực thi. Khi đánh giá các bản phát hành cũ, cần xem xét thời điểm ký, timestamp, trạng thái revocation, certificate chain và cơ chế xác minh của nền tảng.

Đối với các release mới, không nên tiếp tục sử dụng certificate đã bị thu hồi. Nếu Private Key bị compromise, cần dừng signing bằng key cũ, phối hợp với CA để xử lý certificate, tạo key pair mới khi cần thiết và đánh giá các phần mềm đã được ký bằng Private Key đó.

Việc quản lý Code Signing Certificate cần được thực hiện cùng với quản lý Private Key, timestamp, certificate lifecycle và quy trình CI/CD để giảm rủi ro khi certificate bị thu hồi hoặc phát sinh sự cố bảo mật.

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