Puncte:1

Cum repar „Nu sunt disponibile certificate de semnare utilizabile” în VBA?

drapel ne

Avem un script VBA în Outlook care generează un pop-up atunci când trimitem e-mailuri externe. Se pare că semnătura scenariului a expirat în weekend. Persoana care a semnat-o nu mai este aici. Văd certificatul în CA pe DC, dar nu există opțiune de reînnoire.

Am generat un certificat de semnare a codului și l-am importat în computerul meu, dar editorul VBA continuă să spună Nu sunt disponibile certificate de semnare utilizabile. Văd certificatul în magazinul meu de certificate. Șablonul spune „Semnarea codului” în loc de certificatul original „Semnarea codului %ORG%”, dacă asta contează.

Chiar nu am idee ce fac și am petrecut ore întregi săpat online și cercetând pentru a ajunge atât de departe. Sunt într-o fundătură și mi-ar fi nevoie de ajutor pentru a semna din nou. Dacă există o alternativă mai bună și mai modernă pentru a obține o solicitare de utilizator pentru destinatarii externi, anunțați-mă.

joeqwerty avatar
drapel cv
TBH, de ce trebuie să faci asta? Care este nevoie de afaceri?
naps1saps avatar
drapel ne
Nu vrem să trimitem accidental e-mail-uri interne clienților, ar putea fi o mare problemă pentru tipul nostru de clienți. De asemenea, nu dorim ca utilizatorii să cadă în e-mailurile falsificate, deoarece orice încălcare este o afacere uriașă care ar putea avea consecințe financiare din cauza reglementărilor etc. Avem bannerul, dar este destul de ignorabil TBH. În câmpul nostru, solicitările utilizatorului sunt o procedură destul de standard.
Massimo avatar
drapel ng
VBA în 2021? *Într-adevăr*?!?
Puncte:1
drapel us

Îmi pare rău, nu sunt un mare expert aici, dar voi încerca totuși să adaug cei 5 cenți ai mei...

În primul rând, ați încercat certificatul autosemnat? Este mai ușor de depanat, vă va ajuta să testați local. https://social.technet.microsoft.com/Forums/lync/en-US/6b06b276-4266-4f29-ae22-2a3c86c4238f/certificate-for-digital-signature?forum=outlook

În continuare, ești sigur că ai importat și cheia privată cu certificatul? Cel mai probabil veți avea nevoie de el, din câte înțeleg mecanismul de semnare (scuze dacă vă induc în eroare; dacă cumpărați ideea de cheie privată, vă rugăm să verificați cum să o instalați acolo: https://security.stackexchange.com/questions/25996/how-to-import-a-private-key-in-windows - veți avea nevoie de PFX în loc de CER, altfel nu se importă nicio cheie privată).

În sfârșit, în ce container din magazinul de certificate ați importat certificatul? De asemenea, ar putea afecta rezultatul. https://answers.microsoft.com/en-us/msoffice/forum/all/vba-i-installed-digital-signing-certificate-but/231529b1-8099-4c7b-9bb6-2c36aeba00a4

Pași pentru obținerea certificatului pentru semnare

  1. Pe computerul de semnare, deschideți Gestionați certificatele de utilizator
  2. Click dreapta Personal > Toate sarcinile > Solicitați un nou certificat
  3. Selectați Politica de înscriere Active Directory > Următorul
  4. Alege un Semnarea codului șablon și faceți clic Înscrie-te

Editorul VBA ar trebui să vadă acum certificatul și să vă permită să semnați scriptul.

naps1saps avatar
drapel ne
Îl am în rădăcină personală și de încredere și editor de încredere. Privind ultimul link, sunt destul de convins că trebuie să export un PFX și nu un CER. Cred că am avut un PFX importat la început care nu a funcționat, dar nu a fost un certificat de semnare a codului în mod specific. Voi arunca o altă privire, așa că mulțumesc că m-ai îndreptat spre o direcție.
Alex avatar
drapel us
După cum am înțeles, diferența majoră este că cheia privată ar trebui să fie prezentă. Ar trebui să îl puteți verifica folosind acest ghid: https://knowledge.digicert.com/quovadis/ssl-certificates/ssl-general-topics/how-do-i-know-if-my-certificate-has-the -private-key-attached-within-windows.html
naps1saps avatar
drapel ne
Nu pot exporta cheia privată de pe server, așa că poate trebuie să mă întorc la pasul 1 și să creez un nou certificat care să permită exportul PFX? Am folosit metoda de a merge la HTTPS://%ServerFQDN/certsvr și am solicitat un nou certificat > avansat > semnare de cod > adăugați șirul de solicitare BASE64 Nu îmi amintesc de unde l-am luat > descărcare, dar nicio opțiune PFX sau export de la rădăcină CA MMC.
Alex avatar
drapel us
Disclaimer: nu sunt un profesionist aici. Acestea fiind spuse, sunt în continuare convins că aveți nevoie de cheia privată.Și fiți conștienți de faptul că serverul CA de obicei *nu* stochează cheia privată, așa funcționează criptografia. *creați* o pereche (cheie privată + cheie publică) pe computerul dvs. de dezvoltator, apoi semnați software-ul cu cheia *privată*, și apoi distribuiți cheia *publică* publicului dvs., astfel încât acesta să poată verifica software-ul. Prin urmare, nu este nevoie ca serverul CA să stocheze cheia privată - nu o necesită, sfârșitul poveștii. MMC pe CA arată că certificatul conține o cheie privată?
naps1saps avatar
drapel ne
Dacă merg la mașina locală și solicit un certificat pe care l-am verificat, arată toate șabloanele și semnarea codului apare, dar nu este disponibilă. Cred că trebuie să trec prin asta așa cum spui și să omit peste server, așa că mă voi concentra să trec peste asta. S-ar putea să fie nevoie să mă conectez cu acreditările mele ridicate pentru ca acest lucru să funcționeze. Multumesc din nou.
Alex avatar
drapel us
Dragă @naps1saps, rețineți că nu sunt un expert, ci doar un ghicit orb aici, din păcate :( Îmi pare foarte rău dacă propunerile mele vă vor abate de la obiectivul dvs., dar acest lucru este foarte posibil, vă rugăm să țineți cont de asta și evaluați-mi și ipotezele din partea dvs. Mult succes în căutarea dvs., vă rugăm să publicați un răspuns aici odată ce obțineți o soluție)
naps1saps avatar
drapel ne
Am înțeles acum. Nu am observat că există un certificat MMC specific atât pentru utilizator, cât și pentru computer. Am putut obține certificatul adăugat cu utilizatorul MMC. Mulțumesc din nou că m-ai îndreptat în direcția asta. V-am editat răspunsul pentru a vă acorda credit.
naps1saps avatar
drapel ne
Ei bine, sunt mai aproape, dar acum am probleme la obținerea VBA pentru a salva starea semnată în fișierul de proiect. Foarte frustrant.
Alex avatar
drapel us
Mă bucur să aud că ați reușit să reușiți!) Pentru numărul următor, ar putea fi bine să creați o întrebare separată.
naps1saps avatar
drapel ne
Am înțeles acum. Trebuie să compilați proiectul înainte ca acesta să salveze starea semnată. Îmi place cum documentația Microsoft nu spune că acest lucru este necesar, ci în schimb îl recomandă la sfârșit.
Alex avatar
drapel us
Felicitări! Mulțumesc pentru împărtășire, poate ajuta pe cineva într-o zi)
Alex avatar
drapel us
Și doar pentru a adăuga aici: vezi, semnarea ceva înseamnă de fapt înghețarea lui în starea sa actuală, complet. Chiar dacă schimbați un bit, semnătura este nulă. Acesta este probabil motivul pentru care trebuie să compilați mai întâi și apoi doar să semnați - pentru a evita orice erori sau modificări ulterior.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.