Do ta përkthej këtë artikull të shkruar nga James Bottomley , këshilltar teknik i Linux Foundation , i cili filloi të ndërtonte një para-bootloader në mënyrë që Linux të mund të niset.
Siç e shpjegova në postimin tim të mëparshëm, ne e kemi instaluar kodin për para-bootloader-in e Linux Foundation. Megjithatë, pati një vonesë ndërsa fituam qasje në sistemin e nënshkrimit të Microsoft.
Gjëja e parë që duhet të bëni është të paguani tarifën prej 99 dollarësh te Verisign (tani Symantec) dhe të merrni një çelës të verifikuar nga Verisign. Ne e bëmë këtë për Fondacionin Linux, dhe e tëra çfarë ata duan të bëjnë është të telefonojnë selinë qendrore për ta verifikuar atë. Çelësi kthehet nëpërmjet një URL-je që instalohet në shfletuesin tuaj, por mjetet standarde SSL të Linux mund të përdoren për ta nxjerrë atë dhe për të krijuar një certifikatë dhe çelës të rregullt PEM. Nuk ka të bëjë fare me nënshkrimin UEFI, por përdoret për të vërtetuar në sistemin sysdev të Microsoft se ju jeni ai që thoni se jeni. Para se të krijoni një llogari sysdev, duhet ta testoni atë duke nënshkruar një skedar ekzekutues që ata ofrojnë dhe duke e ngarkuar atë . Ata kanë kërkesa të rrepta që ta nënshkruani atë në një platformë specifike Windows, por sbsign të paktën funksionoi, dhe bingo, llogaria jonë u krijua.
Pasi të krijoni një llogari, prapë nuk mund të ngarkoni skedarë binare UEFI për nënshkrim pa nënshkruar më parë një kontratë në letër . Marrëveshjet janë shumë të vështira, duke përfshirë shumë licenca të përjashtuara (duke përfshirë të gjitha GPL-të për drajverët, por jo për bootloaders). Pjesa më e vështirë është se marrëveshjet duket se shtrihen përtej objekteve UEFI që nënshkruani . Avokatët e Fondacionit Linux arritën në përfundimin se është kryesisht e padëmshme për LF sepse ne nuk shesim produkte, por mund të jetë e papranueshme për kompanitë e tjera. Sipas Matthew Garrett, Microsoft është i gatshëm të negociojë marrëveshje të veçanta me shpërndarjet për të zbutur disa nga këto probleme.
Pasi të nënshkruhen marrëveshjet, fillon argëtimi i vërtetë teknik . Nuk mund të ngarkoni thjesht një skedar binar UEFI dhe të prisni që të nënshkruhet. Së pari, duhet ta mbështillni atë në një skedar .cab . Për fat të mirë, ekziston një projekt me burim të hapur që mund të krijojë skedarë kabineti të quajtur lcab. Pastaj duhet ta nënshkruani skedarin .cab me çelësin Verisign . Përsëri, ekziston një projekt tjetër me burim të hapur që mund ta bëjë këtë: osslsigncode. Për këdo që ka nevojë për këto mjete, ato janë të disponueshme në deponë time të Shërbimit Ndërtues UEFI të openSUSE. Pengesa e fundit është se ngarkimi i skedarit kërkon Silverlight . Fatkeqësisht, Moonlight nuk duket se funksionon, dhe edhe me pamjen paraprake të versionit 4, kutia e ngarkimit bëhet bosh, kështu që është koha të përdorni Windows 7 nën një KVM (makinë virtuale e bazuar në bërthamë). Kur të arrini në atë pjesë, duhet gjithashtu të certifikoni se skedari binar "që do të nënshkruhet, nuk duhet të jetë i licencuar sipas GPLv3 ose licencave të ngjashme me burim të hapur ". Unë supozoj se është për shkak të frikës se çelësi do të zbulohet, por nuk është aspak e qartë (e njëjta gjë vlen edhe për "licencat e ngjashme me burim të hapur").
Pasi ngarkimi të përfundojë, skedari i kabinetit kalon nëpër shtatë faza. Fatkeqësisht, ngarkimi i parë i provës ngeci në fazën 6 (faza e nënshkrimit të skedarit). Pas gjashtë ditësh, i dërgova një email mbështetjes së Microsoft duke pyetur se çfarë po ndodhte. Përgjigja: "Kodi i gabimit i kthyer nga procesi i nënshkrimit është se skedari juaj nuk është një aplikacion i vlefshëm Win32 . A është një aplikacion i vlefshëm Win32?" Përgjigja: padyshim jo, është një skedar binar UEFI i vlefshëm 64-bit. Nuk pati përgjigje të mëtejshme ...
E provova përsëri. Këtë herë mora një email shkarkimi për skedarin e nënshkruar, por paneli tha se nënshkrimi dështoi . E shkarkova dhe e verifikova. Skedari binar funksionon në platformën Secure Boot dhe është i nënshkruar me çelësin.
subjekti = / C = SH.B.A. / Uashingtoni / L = Redmond / O = Microsoft Corporation / OU = MOPR / CN = Microsoft Windows UEFI Botues i Shoferit
lëshuesi = / C = SHBA / ST = Uashington / L = Redmond / O = Microsoft Corporation / CN = Microsoft Corporation UEFI CA 2011E pyeta mbështetjen pse procesi tregonte një gabim, por pata një shkarkim të vlefshëm. Pas një mori emailesh, ata u përgjigjën: "Mos e përdorni atë skedar; është nënshkruar gabimisht . Do t'ju kontaktoj përsëri." Ende nuk jam i sigurt se cili është problemi, por nëse shikoni Subjektin e çelësit të nënshkrimit, nuk ka asgjë në çelës që të tregojë Linux Foundation . Prandaj, dyshoj se problemi është se skedari binar është nënshkruar me një çelës të përgjithshëm të Microsoft në vend të një çelësi specifik (dhe të anulueshëm) të lidhur me Linux Foundation.
Sidoqoftë, ky është statusi: Ne do të vazhdojmë të presim që Microsoft t'i japë Linux Foundation një bootloader të nënshkruar dhe të vërtetuar. Kur kjo të ndodhë, ajo do të ngarkohet në faqen e Fondacionit Linux për t'u përdorur nga të gjithë.
Burimi: http://blog.hansenpartnership.com/adventures-in-microsoft-uefi-signing/
Nxirrni përfundimet tuaja, por kjo do të marrë kohë.