Šiame straipsnyje aprašoma, kaip skaitmeniniu būdu pasirašyti makrokomandos projektas sistemoje "Windows" naudojant sertifikatas. Jei dar neturite skaitmeninio sertifikato, jį turėsite gauti.
Patarimas: Norėdami naudoti arba patikrinti makrokomandų projektus savo kompiuteryje, galite sukurti savo pačių pasirašomą sertifikatą naudodami Selfcert.exe įrankį. Daugiau informacijos apie tai rasite toliau.
Skaitmeninio sertifikato gavimas
Skaitmeninį sertifikatą galite gauti iš komercinės sertifikavimo institucijos (CA), savo vidinio saugos administratoriaus arba informacinių technologijų (IT) profesionalo.
Norėdami sužinoti daugiau apie sertifikavimo institucijas, kurios siūlo paslaugas "Microsoft" produktams, žr. "Microsoft" šakninių sertifikatų programos narių sąrašą.
Kadangi jūsų sukurto skaitmeninio sertifikato neišduoda oficiali patikima sertifikavimo institucija, makrokomandų projektai, pasirašyti naudojant tokį sertifikatą, yra vadinami vartotojo pasirašomais projektais. „Microsoft Office“ pasitiki tik tame kompiuteryje esančiu vartotojo pasirašomu sertifikatu, kuriame vartotojo pasirašomas sertifikatas yra įtrauktas į patikimų šakninių sertifikatų aplanką, esantį saugykloje Sertifikatai – dabartinis vartotojas. Todėl tai naudinga testuojant arba naudojant savo kompiuteryje ar labai mažai kompiuterių, kuriuos valdote, bet nėra labai gerai paskirstyti makrokomandų projektus kitiems žmonėms.
Asmeniškai pasirašyto sertifikato kūrimas
Peržiūrėti sertifikatą asmeninių sertifikatų saugykloje
-
Atidarykite „Microsoft Edge“.
-
Adreso juostoje įveskite edge://settings/privacy .
-
Slinkite žemyn iki dalies Sauga ir pasirinkite Valdyti sertifikatus.
VBA makrokomandų projekto pasirašymas skaitmeniniu parašu programoje "Excel", "PowerPoint", "Publisher", "Visio", "Outlook" arba "Word"
-
Atidarykite failą, kuriame yra makrokomandų projektas, kurį norite pasirašyti.
-
Skirtuko Programų kūrėjas grupėje Kodas spustelėkite „Visual Basic“.
Pastaba: Jei nėra skirtuko Programų kūrėjas: spustelėkite skirtuką Failas. Spustelėkite Parinktys. Spustelėkite Juostelės tinkinimas. Sąraše Juostelės tinkinimas spustelėkite Programų kūrėjas, tada spustelėkite Gerai.
-
Programos „Visual Basic“ meniu Įrankiai spustelėkite Skaitmeninis parašas.
-
Rodomas dialogas Elektroninis parašas.
-
Pasirinkite sertifikatą ir spustelėkite Gerai.
Pastaba: Jei anksčiau nebuvote pažymėję skaitmeninio sertifikato arba norite naudoti kitą, spustelėkite Pasirinkti. Pažymėkite sertifikatą, tada spustelėkite Gerai.
Laiko žymos įtraukimas į parašą
Kai žmonės vykdo jūsų VBA makrokomandą, "Office" patikrins parašą ir sertifikatą, su kuriais jis buvo pasirašytas. Laiko žymos įtraukimas į parašą reiškia, kad jūsų makrokomanda vis tiek bus laikoma pasirašyta net pasibaigus sertifikato galiojimui, kol sertifikatas nebus atšauktas. Tai gali sumažinti vartotojų trikdžius.
Sertifikatą, kuris tik nebegalioja, vis tiek galima naudoti norint patikrinti kodą, jo negalima naudoti naujajam kodui pasirašyti.
Norėdami įtraukti laiko žymą, į registrą turite įtraukti tris raktus.
Dėmesio: Netinkamas registro redagavimas gali labai pakenkti jūsų sistemai. Prieš atliekant registro keitimus, rekomenduojame sukurti atsarginę vertingų duomenų kopiją kompiuteryje.
Klavišas |
Tipas |
Aprašas |
---|---|---|
HKCU\Software\Microsoft\VBA\Security\TimeStampURL |
REG_SZ |
Jūsų pageidaujamo laiko žymos serverio URL. (Būtina) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryCount |
REG_DWORD |
Kiek kartų "Visual Basic" rengyklė bandys prisijungti prie laiko žymos serverio prieš tai, kai nepavyks. (Pasirinktinai – jei šios parinkties nenustatysite, "Visual Basic" rengyklė bandys susisiekti su serveriu tik vieną kartą) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay |
REG_DWORD |
Sekundžių skaičius (milisekundėmis), kurį "Visual Basic" rengyklė lauks, kai bandys prisijungti prie laiko žymos serverio. (Pasirinktinai – jei to nenustatysite, tarp bandymų nebus jokios delsos) |
Įtraukus darbinį TimeStampURL įrašą, "Visual Basic" rengyklė automatiškai įtrauks laiko žymą, kai skaitmeniniu būdu pasirašysite makrokomandą.
Papildomos pastabos
-
Rekomenduojama pasirašyti makrokomandas tik patikrinus sprendimą ir paruošus jį paskirstyti: kai pasirašytame makrokomandų projekte kodas kaip nors pakeičiamas, jo skaitmeninis parašas pašalinamas. Tačiau jei turite galiojantį skaitmeninį sertifikatą, kuris anksčiau buvo naudojamas jūsų kompiuteryje esančiam projektui pasirašyti, įrašius makrokomandų projektą, jis automatiškai pasirašomas iš naujo.
-
Vienas iš būdų neleisti vartotojams netyčia pakeisti makrokomandų projekto ir anuliuoti parašą – prieš taikant parašą užrakinti makrokomandų projektą. Jūsų skaitmeninis parašas užtikrina, kad projektas nebuvo piktavališkai pakeistas po to, kai jį pasirašėte, bet tai neįrodo, kad projektą parašėte. Net jei užrakinote makrokomandų projektą, kitas vartotojas gali pakeisti jūsų parašą kitu parašu. Įmonės administratoriai taip pat gali iš naujo pasirašyti šablonus ir papildinius, kad įmonės kompiuteriuose veiktų tik patvirtintas turinys.
-
Jei sukuriate papildinį, kuris į makrokomandų projektą įtraukia kodą, jūsų kodas turi nustatyti, ar projektas pasirašytas skaitmeniniu būdu ir, prieš tęsiant, pranešti vartotojams apie pasirašyto projekto keitimo pasekmes.
-
Vartotojai, naudojantys komercinius sertifikatus, gali susidurti su blokais dėl palaikomų maišos algoritmų apribojimo prisijungiant. Galite įtraukti DWORD registro rakto reikšmę V1HashEnhanced ir pasirinkti kitą maišos algoritmą dalyje HKCU\SOFTWARE\Microsoft\VBA\Security su reikšmės algoritmo taisyklėmis (nuo 1 iki SHA1, nuo 2 iki SHA256, nuo 3 iki SHA384, nuo 4 iki SHA512 ir kt. į MD5). Šis parametras pasiekiamas naujausiose CC kanalo versijose.
Sužinokite daugiau
Makrokomandų įjungimas arba išjungimas "Microsoft 365" failuose
Pastaba: Šį straipsnį sukūrė asmuo, padedant dirbtiniam intelektui (DI).