Întotdeauna am fost interesat să știu ce este sub capota managerului popular de parole KeePass 2. Astăzi am decis să o fac. Din fericire, că KeePass 2 este distribuit gratuit sub GNU, care se obligă să publice codul sursă al proiectului, inclusiv, în cazul în care a fost construit altceva pe baza lor. Codul sursă poate fi descărcat zip-arhivă de la SourceForge.net.
Se pare că, descărcați, compilați, studiați! Dar nu totul este atât de simplu. Dacă încercați să compilați sursele descărcate, Visual Studio va arunca următoarea eroare:
Următorul fișier cheie nu a putut fi importat: KeePass.pfx. Poate fișierul cheie este protejat prin parolă. Pentru a corecta această eroare, repetați certificatul de import din nou, sau instalați manual certificatul în numele puternic CSP folosind următorul nume cheie container: VS_KEY_66D0808EE0476674
Importul fișierului cheie "KeePass.pfx" este anulat.
Aceste erori apar se datorează faptului că, după un proiect Visual Studio construi încearcă să semneze ansamblul de o cheie de dezvoltator, care trebuie să fie stocate în original doar în acest fișier. Dar în sursele distribuite ale acestei chei, desigur, nu. În caz contrar, oricine am putea pune în aplicare codul în orice semn de carte, semnează un certificat de dezvoltator și să emită un „troian“ pentru managerul de parole originale KeePass.
Lipsa unei chei în KeePass.pfx nu elimină dorința de a compila sursele. Dupa o cautare scurta pe Internet la cerere KeePass.pfx. Am găsit o soluție la această problemă. Proprietățile soluției, „KeePass“ și „KeePassLib“, în „Conectare“ trebuie să debifați „Semnați ansamblul“.
În plus, fila "Evenimente de asamblare" din câmpul "Linie de comandă a evenimentului după construire" conține următoarea comandă:
"$ (FrameworkSDKDir) bin \ sgen.exe" / asamblare: "$ (TargetPath)" / forță / nologo / compilator: / keycontainer: VS_KEY_27A70973F3FC3787 / compilator: / delaysign-
De asemenea, trebuie să fie șters.
După efectuarea tuturor manipulărilor de mai sus, asamblarea lui KeePass 2 de la sursă ar trebui să aibă succes. Toate furcile bune;)
discuție
- lexpenz: Din păcate, nu am lucrat cu API Mail.ru și nu știu exact unde este exact pentru a calcula md5 și pentru ce.
- Igorek Neznaykin: Vă rog să-mi spuneți cum să calculați hash md5 pe e-mail? în VC totul este simplu, doar tokenul este necesar atunci când accesează API-ul, dar pe mail nu este deloc ...
- lexpenz: Am uitat să-ți spun despre apartament. Costul apartamentelor din Republica Cehă este comparabil cu prețurile din orașele rusești cu o populație de peste un milion (ca Samara). Dar ipoteca este oferită sub ...
- lexpenz: Buna, Natalia. Starea în Republica Cehă este reală și nu se termină la universitatea locală. Este puțin mai ușor cu el. Cum să conduci ...
- Natalia: Bună ziua. Îmi pare rău de îngrijorare, aș dori să clarific cât de realistă după ce Universitatea din Masaryk a rămas și a trăit în Cehia? Ka ...
- Vikabik: Mac este o mașină de lucru de lungă durată, fără decalaje. Este posibil să ne certăm pe termen nelimitat, ceea ce este mai bine, dar esența nu se schimbă. Ferestrele sunt superioare ...
- lexpenz: Ludozhka. aceasta este cea mai simplă cale și este descrisă în articol :) Numai fără a crea entități inutile.
- RxSwift în exemple. Partea II - observabilă și obligatorie
- RxSwift în exemple. Partea I - Bazele
- Funcția de numărare a memoriei ocupate a aplicației pe Swift
- Eroare Xcode "Imposibil de găsit Image Developer Disk"
- Eroare la conectarea la git prin SourceTree
- Cum se activează descărcarea HTTP în iOS 9
- Eroare la compilarea codului sursă KeePass 2