Превешћу овај чланак који је написао Џејмс Ботомли , технички саветник Линукс фондације , који је кренуо у прављење пре-бутлоудера како би Линукс могао да се покрене.
Као што сам објаснио у претходном посту, имамо код за пре-бутлоадер Линукс фондације. Међутим, дошло је до кашњења док нисмо добијали приступ Мајкрософтовом систему за потписивање.
Прво што треба да урадите је да платите накнаду од 99 долара компанији Verisign (сада Symantec) и добијете кључ који је Verisign верификовао. Ово смо урадили за Linux фондацију, и све што желе је да позову седиште компаније да га верификују. Кључ се враћа путем URL-а који се инсталира у ваш прегледач, али се могу користити стандардни Linux SSL алати да би се издвојио и креирао регуларни PEM сертификат и кључ. То нема никакве везе са UEFI потписивањем, али се користи за валидацију Microsoft-овом sysdev систему да сте ви онај ко тврдите да јесте. Пре него што можете да креирате sysdev налог, морате га тестирати тако што ћете потписати извршну датотеку коју они обезбеђују и отпремити је . Имају строге захтеве да га потпишете на одређеној Windows платформи, али sbsign је бар радио, и бинго, наш налог је креиран.
Када креирате налог, и даље не можете да отпремите UEFI бинарне датотеке за потписивање без претходног потписивања папирног уговора . Уговори су веома оптерећујући, укључујући много искључених лиценци (укључујући све GPL лиценце за драјвере, али не и за бутлоудере). Најоптерећујући део је то што се чини да се уговори протежу изван UEFI објеката које потписујете . Адвокати Линукс фондације закључили су да је то углавном безопасно за LF јер ми не продајемо производе, али би могло бити неприхватљиво за друге компаније. Према речима Метјуа Гарета, Мајкрософт је спреман да преговара о посебним уговорима са дистрибуцијама како би ублажио неке од ових проблема.
Када се уговори потпишу, почиње права техничка забава . Не можете само да отпремите UEFI бинарну датотеку и очекујете да буде потписана. Прво, морате је спаковати у .cab датотеку . Срећом, постоји пројекат отвореног кода који може да креира CAB датотеке под називом lcab. Затим морате да потпишете .cab датотеку Verisign кључем . Опет, постоји још један пројекат отвореног кода који то може да уради: osslsigncode. За свакога коме су потребни ти алати, доступни су у мом openSUSE UEFI Build Service репозиторијуму. Последња препрека је што отпремање датотеке захтева Silverlight . Нажалост, Moonlight изгледа не ради, и чак и са прегледом верзије 4, поље за отпремање постаје празно, па је време да се користи Windows 7 под KVM-ом (виртуелна машина заснована на кернелу). Када дођете до тог дела, такође морате да сертификујете да бинарна датотека „да би била потписана, не сме бити лиценцирана под GPLv3 или сличним лиценцама отвореног кода “. Претпостављам да је то због страха од откривања кључа, али то уопште није јасно (исто важи и за „сличне лиценце отвореног кода“).
Када се отпремање заврши, CAB датотека пролази кроз седам фаза. Нажалост, прво пробно отпремање се заглавило у фази 6 (фаза потписивања датотеке). После шест дана, послао сам имејл Мајкрософтовој подршци питајући шта се дешава. Одговор: „Код грешке који је вратио процес потписивања је да ваша датотека није валидна Win32 апликација . Да ли је то валидна Win32 апликација?“ Одговор: очигледно не, то је валидна 64-битна UEFI бинарна датотека. Није било даљих одговора …
Покушао сам поново. Овог пута сам добио имејл за преузимање потписане датотеке, али је контролна табла рекла да потписивање није успело . Преузео сам је и верификовао. Бинарна датотека ради на платформи Secure Boot и потписана је кључем.
субјецт = / Ц = УС / СТ = Васхингтон / Л = Редмонд / О = Мицрософт Цорпоратион / ОУ = МОПР / ЦН = Мицрософт Виндовс УЕФИ Дривер Публисхер
издавалац = / Ц = САД / СТ = Вашингтон / Л = Редмонд / О = Мицрософт Цорпоратион / ЦН = Мицрософт Цорпоратион УЕФИ ЦА 2011Питао сам подршку зашто процес показује грешку, али сам имао валидно преузимање. Након гомиле имејлова, одговорили су: „Не користите ту датотеку; била је погрешно потписана . Јавићу вам се.“ Још увек нисам сигуран у чему је проблем, али ако погледате наслов кључа за потписивање, у кључу нема ничега што би указивало на Linux Foundation . Стога сумњам да је проблем у томе што је бинарна датотека потписана генеричким Microsoft кључем уместо специфичним (и опозивим) кључем повезаним са Linux Foundation.
Међутим, ово је статус: Наставићемо да чекамо да Мицрософт да Линук Фоундатион-у потписан и потврђен пре-боотлоадер. Када се то догоди, биће отпремљено на локацију Линук Фоундатион да би га сви могли користити.
Извор: http://blog.hansenpartnership.com/adventures-in-microsoft-uefi-signing/
Извуците закључке, али ово ће потрајати.