Acest articol descrie modul în care puteți semna digital un proiect macro în Windows utilizând un certificat. Dacă nu aveți deja un certificat digital, va trebui să obțineți unul.
Sfat: Pentru a utiliza sau a testa proiecte de macrocomenzi pe propriul computer, puteți crea propriul certificat cu semnătură automată utilizând instrumentul de Selfcert.exe. Mai jos veți găsi mai multe detalii despre aceasta.
Obțineți un certificat digital
Puteți obține un certificat digital de la o autoritate de certificare comercială (CA), de la administratorul de securitate intern sau de la un specialist IT.
Pentru a afla mai multe despre autoritățile de certificare care oferă servicii pentru produse Microsoft, consultați lista de membri ai programului de certificate rădăcină Microsoft.
Deoarece un certificat digital pe care îl creați nu este emis de o autoritate oficială de certificare de încredere, proiectele de macrocomenzi semnate utilizând un astfel de certificat sunt cunoscute ca proiecte autosemnate. Microsoft Office acordă încredere unui certificat autosemnat doar pe un computer care are certificatul cu semnătură automată adăugat la folderul Certificare rădăcină de încredere din Depozitul de certificate - Utilizator curent. Acest lucru îl face bun pentru testarea sau utilizarea pe computerul dvs. sau pe un număr foarte mic de mașini pe care le gestionați, dar nu foarte bun pentru distribuirea proiectelor de macrocomenzi altor persoane.
Crearea unui certificat cu semnătură automată
Vizualizarea certificatului în depozitul Certificate personale
-
Deschideți Microsoft Edge.
-
Introduceți edge://settings/privacy în bara de adrese.
-
Defilați în jos la secțiunea Securitate și selectați Gestionare certificate.
Semnarea digitală a unui proiect de macrocomenzi VBA în Excel, PowerPoint, Publisher, Visio, Outlook sau Word
-
Deschideți fișierul care conține proiectul de macrocomandă pe care doriți să îl semnați.
-
În fila Dezvoltator, în grupul Cod, faceți clic pe Visual Basic.
Notă: Dacă fila Dezvoltator nu este disponibilă: faceți clic pe fila Fișier. Faceți clic pe Opțiuni. Faceți clic pe Particularizare Panglică. În lista Particularizarea Panglicii, faceți clic pe Dezvoltator, apoi pe OK.
-
În Visual Basic, în meniul Instrumente, faceți clic pe Semnătură digitală.
-
Se afișează dialogul Semnătură digitală.
-
Selectați un certificat și faceți clic pe OK.
Notă: Dacă nu ați selectat un certificat digital sau doriți să utilizați altul, faceți clic pe Alegere. Selectați un certificat și faceți clic pe OK.
Adăugarea unei mărci de timp la semnătură
Atunci când utilizatorii rulează macrocomanda VBA, Office va verifica semnătura și certificatul cu care a fost semnat. Adăugarea unei mărci de timp la semnătură înseamnă că macrocomanda va fi tratată în continuare ca semnată, chiar și după expirarea certificatului, atât timp cât certificatul nu este revocat. Acest lucru poate reduce întreruperea utilizatorilor.
Un certificat care este doar expirat poate fi utilizat în continuare pentru a valida codul, doar că nu poate fi utilizat pentru a semna cod nou.
Pentru a adăuga o marcă de timp, trebuie să adăugați trei chei la registry.
Precauție: Editarea incorectă în registry poate deteriora grav sistemul. Înainte de a efectua modificări în registry, vă recomandăm să faceți backup tuturor datelor importante de pe computer.
Tastă |
Tip |
Descriere |
---|---|---|
HKCU\Software\Microsoft\VBA\Security\TimeStampURL |
REG_SZ |
ADRESA URL a serverului dvs. preferat de mărci de timp. (Obligatoriu) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryCount |
REG_DWORD |
De câte ori va încerca Visual Basic Editor să se conecteze la serverul de mărci de timp înainte de a eșua. (Opțional - dacă nu îl setați, Visual Basic Editor va încerca să contacteze serverul o singură dată) |
HKCU\Software\Microsoft\VBA\Security\TimeStampRetryDelay |
REG_DWORD |
Numărul de secunde (în milisecunde) pe care Visual Basic Editor îl va aștepta între reîncercarea conectării la serverul de mărci de timp. (Opțional - dacă nu setați această setare, nu va mai exista nicio întârziere între reîncercate) |
După ce ați adăugat o intrare TimeStampURL funcțională, Visual Basic Editor va adăuga automat o marcă de timp oricând semnați digital o macrocomandă.
Note suplimentare
-
Se recomandă să semnați macrocomenzi numai după ce soluția dvs. a fost testată și gata pentru distribuire: atunci când codul dintr-un proiect de macrocomandă este modificat în orice fel, semnătura sa digitală este eliminată. Totuși, dacă aveți certificatul digital valid care a fost utilizat anterior pentru a semna proiectul pe computer, proiectul de macrocomandă este semnat automat din nou atunci când îl salvați.
-
O modalitate de a împiedica utilizatorii să modifice accidental proiectul macrocomenzii și să vă invalideze semnătura este să blocați proiectul macrocomenzii înainte de a aplica semnătura. Semnătura dvs. digitală asigură că proiectul nu a fost modificat de când l-ați semnat, dar nu dovedește că ați scris proiectul. Chiar dacă ați blocat proiectul de macrocomenzi, este posibil ca un alt utilizator să vă poată înlocui semnătura cu altă semnătură. Administratorii de corporație pot, de asemenea, să semneze din nou șabloanele și programele de completare pentru a se asigura că pe computerele firmei rulează numai conținut aprobat.
-
În cazul în care creați un program de completare care adaugă un cod la un proiect de macrocomenzi, codul ar trebui să determine dacă proiectul este semnat digital și să înștiințeze utilizatorul de consecințele modificării unui proiect semnat înainte de a continua.
-
Utilizatorii care utilizează certificate comerciale pot întâlni blocuri din cauza limitării algoritmilor hash acceptați la semnare. Puteți adăuga o valoare de cheie de registry DWORD V1HashEnhanced pentru a alege alt algoritm hash, sub HKCU\SOFTWARE\Microsoft\VBA\Security cu reguli de algoritm de valoare (de la 1 la SHA1, de la 2 la SHA256, de la 3 la SHA384, de la 4 la SHA512 și de la altele la MD5). Această setare este disponibilă în cele mai recente versiuni ale canalului CC.
Aflați mai multe
Activarea sau dezactivarea macrocomenzilor în fișiere Microsoft 365
Notă: Acest articol a fost creat de o persoană cu ajutorul unei inteligențe artificiale (AI).