Tôi có thể tạo Chứng chỉ OpenPGP có chứa ngày tạo tùy chỉnh (bắt đầu hiệu lực) không?
Tôi cần tạo chứng chỉ OpenPGP ngay hôm nay, nhưng chỉ có hiệu lực từ tuần sau (ví dụ).
Sử dụng các công cụ như "Kleopatra", tôi chỉ có thể đặt "ngày hết hạn".
Tôi có thể tạo Chứng chỉ OpenPGP có chứa ngày tạo tùy chỉnh (bắt đầu hiệu lực) không?
Tôi cần tạo chứng chỉ OpenPGP ngay hôm nay, nhưng chỉ có hiệu lực từ tuần sau (ví dụ).
Sử dụng các công cụ như "Kleopatra", tôi chỉ có thể đặt "ngày hết hạn".
Câu trả lời:
Trước hết, OpenPGP có cách diễn đạt khác với X.509. Những gì bạn mô tả là chứng chỉ thường được gọi là "khóa" trong OpenPGP, trong khi chỉ có chữ ký trên các khóa khác được gọi là chứng nhận.
Hơn nữa, không có tham số "không hợp lệ trước" được xác định. Có dấu thời gian tạo, nhưng không có hành vi được xác định cho ngày trong tương lai - việc triển khai OpenPGP có thể đưa ra cảnh báo, hoàn toàn từ chối sử dụng khóa hoặc đơn giản là bỏ qua thực tế.
GnuPG không biết tùy chọn để đặt thời gian tạo, nhưng thời gian hệ thống được sử dụng. Cách dễ nhất và chung nhất là thay đổi thời gian hệ thống sang ngày mong muốn.
Đối với Linux, có một công cụ rất hữu ích faketime
, có thể được sử dụng để bắt đầu các lệnh khác với ngày tùy ý:
faketime '2008-12-24 08:15:42' gpg2 --gen-key
Bạn có thể phải chấm dứt gpg-agent
để nó được khởi động lại, nếu nó không nhìn thấy (nhưng sử dụng) thời gian giả mạo.
GnuPG cũng có một --faketime
tham số, nhưng nó chỉ hoạt động nếu --debug
được đặt, yêu cầu một số tùy chọn biên dịch không phải lúc nào cũng được áp dụng cho các bản dựng sản xuất.
faketime
chính xác là những gì tôi đang tìm kiếm. Trong Arch Linux, lệnh này là một phần của libfaketime
:sudo pacman -S libfaketime