Applies ToExcel dla Microsoft 365 Microsoft Word dla Microsoft 365 Outlook dla Microsoft 365 PowerPoint dla Microsoft 365 Publisher dla Microsoft 365 Visio (plan 2) Excel 2024 Outlook 2024 PowerPoint 2024 Excel 2021 Microsoft Word 2021 Outlook 2021 PowerPoint 2021 Publisher 2021 Visio Professional 2021 Visio Standard 2021 Excel 2019 Word 2019 Outlook 2019 PowerPoint 2019 Publisher 2019 Visio Professional 2019 Visio Standard 2019 Excel 2016 Word 2016 Outlook 2016 PowerPoint 2016 Publisher 2016 Visio Professional 2016 Visio Standard 2016 Visio Professional 2013

W tym artykule opisano, jak cyfrowo podpisać projekt makra w systemie Windows przy użyciu certyfikat. Jeśli nie masz jeszcze certyfikatu cyfrowego, musisz go uzyskać.

Porada: Aby używać lub testować projekty makr na własnym komputerze, możesz utworzyć własny certyfikat do samodzielnego podpisywania przy użyciu narzędzia Selfcert.exe. Więcej informacji na ten temat znajdziesz poniżej.

Uzyskiwanie certyfikatu cyfrowego

Certyfikat cyfrowy możesz uzyskać od komercyjnego urzędu certyfikacji, od administratora zabezpieczeń wewnętrznych lub specjalisty ds. technologii informatycznych.

Aby dowiedzieć się więcej o urzędach certyfikacji oferujących usługi dla produktów firmy Microsoft, zobacz listę członków programu certyfikatów głównych firmy Microsoft.

Ponieważ certyfikat cyfrowy utworzony samodzielnie przez użytkownika nie jest wydany przez zaufany urząd certyfikacji, podpisane w ten sposób projekty makr są określane jako projekty z podpisem własnym. Pakiet Microsoft Office uznaje certyfikat z podpisem własnym za zaufany tylko na tych komputerach, na których taki certyfikat dodano do folderu Zaufane główne urzędy certyfikacji w magazynie Certyfikaty — bieżący użytkownik. To ułatwia testowanie lub używanie na własnym komputerze lub bardzo małej liczbie komputerów, które zarządzasz, ale niezbyt dobrze nadaje się do rozpowszechniania projektów makr wśród innych osób.

Tworzenie certyfikatu z podpisem własnym

Wyświetlanie certyfikatu w magazynie certyfikatów osobistych

  1. Otwórz program Microsoft Edge.

  2. Wprowadź edge://settings/privacy na pasku adresu.

  3. Przewiń w dół do sekcji Zabezpieczenia i wybierz pozycję Zarządzaj certyfikatami.

Cyfrowe podpisywanie projektu makra języka VBA w programach Excel, PowerPoint, Publisher, Visio, Outlook lub Word

  1. Otwórz plik zawierający projekt makra, który chcesz podpisać.

  2. Na karcie Deweloper w grupie Kod kliknij przycisk Visual Basic.

    Uwaga: Jeśli karta Deweloper nie jest dostępna: kliknij kartę Plik . Kliknij pozycję Opcje. Kliknij pozycję Dostosowywanie Wstążki. Na liście Dostosuj Wstążkę kliknij pozycję Deweloper, a następnie kliknij przycisk OK.

  3. W oknie Visual Basic w menu Tools (Narzędzia) kliknij polecenie Digital Signature (Podpis cyfrowy).

  4. Zostanie wyświetlone okno dialogowe Podpis cyfrowy.

  5. Wybierz certyfikat i kliknij przycisk OK.

    Uwaga: Jeśli certyfikat cyfrowy nie został jeszcze wybrany lub chcesz użyć innego certyfikatu, kliknij pozycję Wybierz. Wybierz certyfikat i kliknij przycisk OK.

Dodawanie sygnatury czasowej do podpisu

Po uruchomieniu makra języka VBA pakiet Office sprawdzi podpis i certyfikat, na który został podpisany. Dodanie sygnatury czasowej do podpisu oznacza, że makro będzie nadal traktowane jako podpisane, nawet po wygaśnięciu certyfikatu, o ile certyfikat nie zostanie odwołany. Może to zmniejszyć zakłócenia w działaniu użytkowników.

Certyfikat, który po prostu wygasł, może być nadal używany do sprawdzania poprawności kodu, po prostu nie może być używany do podpisywania nowego kodu.

Aby dodać sygnaturę czasową, musisz dodać trzy klucze do rejestru.

Przestroga:  Nieprawidłowe edytowanie rejestru może spowodować poważnie uszkodzenie systemu. Przed wprowadzeniem zmian w rejestrze zalecamy utworzenie kopii zapasowej wszelkich ważnych danych przechowywanych na komputerze.

Klawisz

Typ

Opis

HKCU\Software\Microsoft\VBA\Security\TimeStampURL

REG_SZ 

Adres URL preferowanego serwera sygnatur czasowych. (Wymagane)

HKCU\Software\Microsoft\VBA\Security\TimeStampRetryCount

REG_DWORD

Liczba prób nawiązania połączenia przez Edytor Visual Basic z serwerem sygnatur czasowych przed niepowodzeniem. (Opcjonalnie — jeśli tego nie zrobisz, Edytor Visual Basic spróbuje skontaktować się z serwerem tylko raz)

HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay  

REG_DWORD

Liczba sekund (w milisekundach) edytora Visual Basic będzie czekać między ponowną próbą nawiązania połączenia z serwerem sygnatur czasowych. (Opcjonalnie — jeśli nie ustawisz tej opcji, nie będzie żadnych opóźnień między jakimikolwiek próbami)

Po dodaniu działającego wpisu TimeStampURL Edytor Visual Basic automatycznie doda sygnaturę czasową za każdym razem, gdy podpiszesz makro cyfrowo.

Uwagi dodatkowe

  • Zaleca się podpisywanie makr dopiero po przetestowaniu rozwiązania i przygotowaniu go do rozpowszechniania: gdy kod w podpisanym projekcie makra zostanie w jakikolwiek sposób zmieniony, jego podpis cyfrowy zostanie usunięty. Jeśli jednak na komputerze istnieje prawidłowy certyfikat cyfrowy, który został poprzednio użyty do podpisania projektu, projekt makra jest automatycznie podpisywany ponownie podczas zapisywania.

  • Jednym ze sposobów zapobiegania przypadkowej zmianie projektu makra i unieważnieniu podpisu przez użytkowników jest zablokowanie projektu makra przed zastosowaniem podpisu. Podpis cyfrowy gwarantuje, że projekt nie został zmodyfikowany od czasu podpisania, ale nie dowodzi, że projekt został napisany. Nawet jeśli projekt makra został zablokowany, inny użytkownik nadal może zamienić podpis na inny podpis. Administratorzy korporacyjni mogą również ponownie podpisywać szablony i dodatki, aby upewnić się, że na komputerach firmowych jest uruchamiana tylko zatwierdzona zawartość.

  • W przypadku tworzenia dodatku, który dodaje kod do projektu makra, nowy kod powinien stwierdzać, czy projekt jest podpisany cyfrowo, i powiadamiać użytkownika o konsekwencjach modyfikowania podpisanego projektu, zanim pozwoli mu przejść dalej.

  • Użytkownicy korzystający z certyfikatów komercyjnych mogą napotkać bloki ze względu na ograniczenie obsługiwanych algorytmów skrótu podczas podpisywania. Możesz dodać klucz rejestru DWORD V1HashEnhanced, aby wybrać inny algorytm skrótu, w obszarze HKCU\SOFTWARE\Microsoft\VBA\Security z regułami algorytmu wartości (od 1 do SHA1, od 2 do SHA256, od 3 do SHA384, 4 do SHA512 i innych do MD5). To ustawienie jest dostępne w najnowszych wersjach kanału CC.

Dowiedz się więcej

Włączanie lub wyłączanie makr w plikach platformy Microsoft 365

Uwaga: Ten artykuł został utworzony przez osobę korzystającą z pomocy sztucznej inteligencji.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.