Bài viết này mô tả cách bạn có thể ký điện tử dự án macro trên Windows bằng cách sử dụng chứng chỉ. Nếu chưa có chứng chỉ số, bạn sẽ cần lấy một chứng chỉ số.
Mẹo: Để sử dụng hoặc kiểm tra các dự án macro trên máy tính riêng của mình, bạn có thể tạo chứng chỉ tự ký của riêng mình bằng cách sử Selfcert.exe cụ. Bạn sẽ tìm thấy thêm chi tiết về điều đó dưới đây.
Lấy chứng chỉ số
Bạn có thể lấy chứng chỉ số từ một cơ quan cấp chứng chỉ (CA) thương mại, từ người quản trị bảo mật nội bộ hoặc chuyên gia công nghệ thông tin (CNTT).
Để tìm hiểu thêm về cơ quan cấp chứng chỉ cung cấp dịch vụ cho sản phẩm Microsoft, hãy xem danh sách thành viên chương trình chứng chỉ gốc của Microsoft.
Vì chứng chỉ số bạn tạo không được cấp bởi cơ quan cấp chứng chỉ đáng tin cậy chính thức nên các dự án macro được ký bằng chứng chỉ như vậy được gọi là dự án tự ký. Microsoft Office chỉ tin cậy chứng chỉ tự ký trên máy tính đã thêm chứng chỉ tự ký vào thư mục Chứng chỉ Gốc Đáng tin cậy trong kho lưu trữ Chứng chỉ - Người dùng Hiện tại. Điều đó giúp bạn có thể thử nghiệm hoặc sử dụng trên máy riêng của mình hoặc một số lượng rất nhỏ các máy bạn quản lý, nhưng không phải là rất tốt để phân phối các dự án macro cho người khác.
Tạo chứng chỉ tự ký
Xem chứng chỉ trong kho lưu trữ Chứng chỉ Cá nhân
-
Mở Microsoft Edge.
-
Nhập edge://settings/privacy vào thanh địa chỉ.
-
Cuộn xuống đến mục Bảo mật , rồi chọn Quản lý chứng chỉ.
Ký điện tử cho dự án macro VBA trong Excel, PowerPoint, Publisher, Visio, Outlook hoặc Word
-
Mở tệp chứa dự án macro mà bạn muốn ký.
-
Trên tab Nhà phát triển, trong nhóm Mã, bấm Visual Basic.
Lưu ý: Nếu tab Nhà phát triển không sẵn dùng: Hãy bấm tab Tệp. Bấm Tùy chọn. Bấm Tùy chỉnh Ribbon. Trong danh sách Tùy chỉnh Ribbon, hãy bấm Nhà phát triển rồi sau đó bấm OK.
-
Trong Visual Basic, trên menu Công cụ, bấm Chữ ký Điện tử.
-
Hộp thoại Chữ ký Điện tử xuất hiện.
-
Chọn chứng chỉ và bấm OK.
Lưu ý: Nếu bạn vẫn chưa chọn chứng chỉ số hoặc muốn dùng một chứng chỉ số khác, hãy bấm Chọn. Chọn chứng chỉ và bấm OK.
Thêm tem thời gian vào chữ ký của bạn
Khi mọi người chạy macro VBA của bạn, Office sẽ kiểm tra chữ ký và chứng chỉ mà nó đã được ký. Thêm tem thời gian vào chữ ký có nghĩa là macro của bạn vẫn sẽ được coi là đã ký, ngay cả sau khi chứng chỉ của bạn đã hết hạn, miễn là chứng chỉ không bị thu hồi. Điều này có thể làm giảm sự gián đoạn đối với người dùng.
Một chứng chỉ chỉ đơn thuần đã hết hạn vẫn có thể được sử dụng để xác thực mã, nó chỉ không thể được sử dụng để ký mã mới.
Để thêm tem thời gian, bạn cần thêm ba khóa vào sổ đăng ký của mình.
Thận trọng: Việc chỉnh sửa sổ đăng ký không chính xác có thể làm hỏng nghiêm trọng hệ thống của bạn. Trước khi bạn thực hiện các thay đổi đối với sổ đăng ký, chúng tôi khuyên bạn nên sao lưu mọi dữ liệu có giá trị trên máy tính.
Phím |
Loại |
Mô tả |
---|---|---|
HKCU\Software\Microsoft\VBA\Security\TimeStampURL |
REG_SZ |
URL của máy chủ tem thời gian yêu thích của bạn. (Bắt buộc) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryCount |
REG_DWORD |
Số lần Trình soạn thảo Visual Basic sẽ cố gắng kết nối với máy chủ tem thời gian trước khi không thành công. (Tùy chọn - Nếu bạn không đặt tính năng này, Trình soạn thảo Visual Basic sẽ chỉ tìm cách liên hệ với máy chủ một lần) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay |
REG_DWORD |
Số giây (tính theo mili giây) Trình soạn thảo Visual Basic sẽ chờ giữa khi thử lại để kết nối với máy chủ tem thời gian. (Tùy chọn - Nếu bạn không đặt tùy chọn này, sẽ không có bất kỳ sự chậm trễ nào giữa bất kỳ thử lại nào) |
Sau khi bạn đã thêm mục nhập TimeStampURL làm việc, Trình soạn thảo Visual Basic sẽ tự động thêm tem thời gian bất kỳ lúc nào bạn ký điện tử vào macro.
Ghi chú bổ sung
-
Chúng tôi khuyên bạn chỉ nên ký macro sau khi giải pháp của bạn đã được kiểm tra và sẵn sàng để phân phối: khi mã trong dự án macro đã ký được thay đổi theo bất kỳ cách nào, chữ ký số của dự án sẽ bị loại bỏ. Tuy nhiên, nếu bạn có chứng chỉ số hợp lệ đã được dùng để ký dự án trên máy tính của bạn trước đây thì dự án macro đó sẽ tự động được ký lại khi bạn lưu.
-
Một cách để ngăn người dùng vô tình thay đổi dự án macro và làm mất hiệu lực chữ ký của bạn là khóa dự án macro trước khi áp dụng chữ ký. Chữ ký số của bạn đảm bảo rằng dự án không bị giả mạo kể từ khi bạn ký vào đó, nhưng nó không chứng minh rằng bạn đã viết dự án. Ngay cả khi bạn đã khóa dự án macro của mình, người dùng khác vẫn có thể thay thế chữ ký của bạn bằng chữ ký khác. Người quản trị công ty cũng có thể ký lại các mẫu và phần bổ trợ để đảm bảo rằng chỉ có nội dung được phê duyệt mới được chạy trên máy tính của công ty.
-
Nếu bạn tạo bổ trợ thêm mã vào dự án macro, mã của bạn cần xác định xem dự án có được ký điện tử hay không và cần thông báo cho người dùng về các hậu quả của việc thay đổi dự án đã ký trước khi họ tiếp tục.
-
Người dùng sử dụng chứng chỉ thương mại có thể gặp phải các khối do giới hạn của thuật toán hàm băm được hỗ trợ khi đăng nhập. Bạn có thể thêm giá trị khóa đăng ký DWORD V1HashEnhanced để chọn một thuật toán băm khác, dưới HKCU\SOFTWARE\Microsoft\VBA\Security với các quy tắc thuật toán giá trị (1 đến SHA1, 2 đến SHA256, 3 đến SHA384, 4 đến SHA512 và các quy tắc khác cho MD5). Cài đặt này có sẵn trong các phiên bản mới nhất của kênh CC.
Tìm hiểu thêm
Bật hoặc tắt macro trong tệp Microsoft 365
Lưu ý: Bài viết này do một người tạo ra với sự hỗ trợ của trí tuệ nhân tạo (AI).