Tõlgin juhtumisi selle tema kirjutatud artikli James Bottomley, tehniline nõustaja Linux Foundation, kes hakkas kokku panema eellaadija, et saaksite Linuxi käivitada.
Nagu ma oma eelmises postituses selgitasin, on meil Linux Foundationi eellaadija kood olemas. Siiski oli olemas viivitus samal ajal kui meil oli juurdepääs Microsofti allkirjastamissüsteemile.
Esimene asi, mida teha, on makske Verisignile 99 dollarit (nüüd Symantec) ja laseb Verisignil kontrollida võtit. Tegime seda Linuxi fondi heaks ja kõik, mida nad teha tahavad, on kontrollimiseks helistada peakorterisse. Võti tagastatakse teie brauserisse installitud URL-is, kuid selle väljavõtmiseks ning tavapärase PEM-sertifikaadi ja võtme loomiseks saab kasutada tavapäraseid Linuxi SSL-i tööriistu. Sellel pole midagi pistmist UEFI allkirjastamisega, kuid seda kasutatakse süsteemi valideerimiseks sysdev Microsoft, et sa oled see, kes sa ütled. Enne sysdev konto loomist peate seda testima nad annavad teile allkirjastatava käivitatava faili ja laadivad selle üles. Nad esitavad ranged nõuded, et te allkirjastaksite selle kindlale Windowsi platvormile, kuid sbsign vähemalt toimis ja meie konto loodi.
Kui konto on loodud, ei saa te ikkagi enne UEFI kahendfaile allkirjastamiseks üles laadida sõlmida paberileping. Lepingud on väga koormavad, sealhulgas palju välistatud litsentse (sealhulgas kõik draiverite GPL-id, kuid mitte alglaadurite jaoks). Kõige koormavam on see, et lepingud näivad saabuvat kaugemale UEFI objektidest, millele allkirjastate. Linuxi fondi advokaadid jõudsid järeldusele, et see on LF-le enamasti kahjutu, kuna me ei müü tooteid, kuid see võib teistele ettevõtetele vastik olla. Matthew Garretti sõnul on Microsoft mõne sellise probleemi leevendamiseks valmis pidama läbirääkimisi levitamise erikokkulepete üle.
Kui lepingud on allkirjastatud, siis päris tehniline lõbu. UEFI binaarset faili ei saa lihtsalt üles laadida ja allkirjastada. Kõigepealt peate pakkige see .cab-faili. Õnneks on olemas avatud lähtekoodiga projekt, millega saab luua kabinetifaile nimega lcab. Siis peate allkirjastage .cab-fail Verisign-võtmega. Jällegi on veel üks avatud lähtekoodiga projekt, mis seda suudab: osslsigncode. Kõigile, kes neid tööriistu vajavad, on need saadaval minu openSuse Build Service UEFI hoidlas. Viimane probleem on faili üleslaadimine nõuab hõbevalgust. Kahjuks näib, et kuuvalgus ei tööta ja isegi versiooni 4 eelvaate korral läheb üleslaadimise kast tühjaks, nii et on aeg kasutada Windows 7-d kvm (kernelil põhinev virtuaalne masin) all. Sellesse ossa jõudes peate ka kinnitama, et binaarne “allkirjastamiseks, ei tohi olla litsentsitud GPLv3 või muude sarnaste avatud lähtekoodiga litsentside alusel”. Eeldan, et see on võtmete avalikustamise kartuses, kuid see pole üldse selge (sama kehtib "sarnaste avatud lähtekoodiga litsentside" puhul).
Kui üleslaadimine on lõpule jõudnud, peatub kabinetifail seitsmes etapis. Paraku esimene proovitõus jäi lukustatud 6. etapis (toimikute allkiri). 6 päeva pärast saatsin Microsoftile tugimeili, milles küsiti, mis toimub. Vastus: „Allkirjastamise käigus visatud veakood on see teie fail ei ole kehtiv Win32 rakendus. Kas see on kehtiv Win32 rakendus? ”. Vastus: ilmselt mitte, see on kehtiv 64-bitine UEFI binaarne versioon. Rohkem vastuseid ei tulnud...
Proovisin uuesti. Seekord sain allkirjastatud faili kohta allalaadimismeili ja juhatus ütleb seda allkirjastatud nurjus. Laadisin selle alla ja kontrollisin. Binaar töötab turvalise alglaadimise platvormil ja on allkirjastatud võtmega
subjekt = / C = USA / ST = Washington / L = Redmond / O = Microsoft Corporation / OU = MOPR / CN = Microsofti Windowsi UEFI draiverite avaldaja
emitent = / C = USA / ST = Washington / L = Redmond / O = Microsoft Corporation / CN = Microsoft Corporation UEFI CA 2011Küsisin tugiteenuselt, miks protsess viitas ebaõnnestumisele, kuid mul oli kehtiv allalaadimine ja pärast meilisõnumite vastamist vastasid nad: "ärge kasutage seda faili, mis oli valesti allkirjastatud. Ma tulen teie juurde tagasi. " Ma pole endiselt kindel, milles probleem on, kuid kui vaatate allkirjastamisvõtme teemat, võtmes pole midagi, mis viitaks Linux Foundationile, seepärast kahtlustan, et probleem seisneb selles, et binaarkaart on allkirjastatud Microsofti üldise võtmega, mitte konkreetse (ja tühistatava) võtmega, mis on seotud Linux Foundationiga.
Kuid see on staatus: ootame jätkuvalt, kuni Microsoft annab Linux Foundationile allkirjastatud ja valideeritud eelkäivitaja. Kui see juhtub, laaditakse see kõigi kasutajate jaoks üles Linux Foundationi saidile.
allikas: http://blog.hansenpartnership.com/adventures-in-microsoft-uefi-signing/
Tehke oma järeldused, kuid see võtab aega.