Î: De ce am nevoie de certificate CodeSigning?
R: Certificatele de codare sunt recomandate pentru utilizarea de către toți editorii care distribuie cod sau conținut pe Internet sau în rețele corporative. Clienții înțeleg toate pericolele legate de descărcarea fișierelor din rețea și au încredere în fișierele semnate mult mai mult decât nesemnate. Văzând semnătura editorului, clientul înțelege că acest fișier este autentic, nu există niciun virus sau erori în el. Semnătura editorului este o modalitate sigură de a proteja aplicația de orice modificări ale terților.
Î: Cum codifică semnarea folosind certificatul CodeSigning?
R: Pentru a semna codul, trebuie să-l transmiteți printr-un algoritm de hashing special, apoi să utilizați cheia privată pentru a semna hash-ul. Prin urmare, veți primi o semnătură digitală. Apoi, creați un bloc de semnătură care conține o semnătură digitală și un certificat CodeSigning. Unelte, cum ar fi Authenticode, vă permit să specificați o marcă de timp pentru blocul de semnătură în funcție de data și ora curente. În cele din urmă, legați blocul de semnătură cu marcajul de timp la software. Acum puteți să publicați programul descărcat pe site-ul dvs.
Este necesar un marcaj de timp pentru a vă asigura că codul nu expiră împreună cu perioada de valabilitate a certificatului de semnare a codului. Dacă codul dvs. are un marcaj de timp, atunci semnătura digitală va fi valabilă chiar și după expirarea certificatului. Un nou certificat este necesar numai dacă doriți să semnați un cod suplimentar. Dacă nu ați folosit abilitatea de a adăuga marcaje temporale în timpul procesului de semnare a aplicației, va trebui să reînregistrați codul și să îl transferați clienților.
Î: Cum îmi folosesc certificatul după achiziționarea acestuia?
R: După ce ați comandat un certificat de semnare a codului, vă va fi trimisă o scrisoare specială pentru a primi certificatul. Când primiți certificatul, utilizați aceleași dispozitive din care ați pornit comanda (același computer și același browser web). Dacă utilizați un alt computer sau alt browser web, NU puteți instala certificatul.
După descărcare și instalare, certificatul va fi mutat în magazinul special de certificate pentru browserul web. După aceasta, îl puteți exporta ca fișier pfx. În viitor, puteți utiliza acest fișier .pfx pentru a semna aplicații.
Unele excepții de la acest proces sunt semnarea certificatelor Java (cererea CSR este generată pe partea clientului în Java).
Î: Ce se întâmplă dacă expiră certificatul CodeSigning?
A: Certificatele de semnare a codului se eliberează pentru o perioadă de la un an la trei ani. Expirarea certificatului CodeSigning înseamnă că nu veți putea crea noi semnături. Toate semnăturile din trecut vor rula pentru marcajul de timp specificat.
În cazul Microsoft Authenticode, folosirea timbrelor vă permite să evitați expirarea codului în momentul expirării certificatului.
Dacă timbrele nu sunt folosite, atunci în cazul în care certificatul expiră, va trebui să re-semnați codul și să îl trimiteți clienților.
Merită să ne amintim că unele certificate nu acceptă crearea de timbre (de exemplu, certificate pentru semnarea obiectelor Netscape și Sun Java).
Î: Care este diferența dintre semnătura codului și semnarea documentelor? Pot să semnez fișiere PDF cu certificate obișnuite de semnare a codului?
R: În marea majoritate a certificatelor CodeSigning au extensia extKeyUsage cu valoare codificată și, uneori, și codCodeSigning. Cu toate acestea, în ele nu există valori care să permită alte utilizări.
Din regula RFC 5280 pentru extinderea utilizării cheii extinse rezultă că "dacă extensia este specificată, atunci certificatul ar trebui să fie utilizat doar pentru a atinge unul dintre obiectivele corespunzătoare".
Cu toate acestea, în situația în cauză, un certificat de semnare a codului este utilizat pentru a semna un document care nu este un cod, ceea ce constituie o încălcare directă a certificatelor de infrastructură pentru chei publice X.509.
Din acest motiv, există o mare probabilitate ca Adobe Reader să respingă semnăturile PDF generate de certificatul de semnare a codului. Și chiar dacă acum nu există probleme cu certificatele, nimeni nu garantează că acest lucru nu se va întâmpla în viitor prin lansarea de noi versiuni ale Adobe Reader. Din acest motiv, mulți reselleri de certificate partajează certificate pentru semnarea unui cod și certificate pentru semnarea documentelor (în special, certificate pentru semnarea unui PDF). Prețurile pentru certificatele PDF sunt de multe ori mai mari.
Î: Există diferențe între certificatele de semnare a codului pentru Java, Adobe AIR, Authenticode, VBS?
R: Așa cum se arată în specificația RFC 5280, orice certificat CodeSigning poate fi folosit pentru a semna cod Java, cod AIR, Authenticode, VBS etc. În consecință, din punct de vedere tehnic, nu există diferențe între certificatele de semnare a codului.
Cu toate acestea, unele autorități de certificare pot impune anumite restricții asupra domeniului de aplicare al certificatelor de codare (exemplu: Thawte și Symantec, pentru care certificatele sunt împărțite în tipuri).
Î: Cum semnez fișierele de instalare Visual Studio .msi? După ce semnez .msi, toate fișierele din pachetul de instalare .exe își pierd semnătura. Ce pot face pentru a păstra semnăturile acestor fișiere în timpul instalării pachetului pe computerul clientului?
R: Visual Studio creează două foldere la timpul de compilare: obj și bin. Fișierele de ieșire sunt copiate cel mai adesea din folderul obj în directorul de bin. Dacă vă abonați fișierele în directorul bin, acestea vor fi ulterior suprascrise cu fișiere din folderul obj. Ieșiți din situație: semnătura fișierelor exe aflate în folderul obj. În acest caz, semnăturile tuturor fișierelor exe vor rămâne.
Î: Există o limită a numărului de aplicații pe care le pot semna utilizând certificatul de semnare a codului?
R: Nu, nu. Puteți semna certificatul CodeSigning cu cât mai multe aplicații doriți, cu condiția ca aplicația să fie distribuită de organizația la care a fost emis certificatul.
Î: Pot să semneze drivere (modul Kernel) utilizând certificatul CodeSigning?
Î: Cum să ajungeți în jurul ecranului inteligent când instalați o aplicație semnat pe Windows 8?
R: Pentru a face acest lucru, trebuie să utilizați certificatul de semnare a codului EV. Programele semnate cu codificare EV sunt considerate automat de încredere, chiar dacă nu există nici o reputație pentru acest editor sau fișier. Puteți seta o reputație numai pentru certificatele Authenticode emise de o autoritate de certificare care este membră a programului de certificare a certificatelor Windows Root (de exemplu, Symantec).
Încă aveți întrebări? Scrie!