From: Eric Biggers Date: Fri, 26 Jan 2018 00:36:48 +0000 Subject: Re: [PATCH v3] fscrypt: add support for the encrypted key type Message-Id: <20180126003648.jtmiznczkinla353@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1250" Content-Transfer-Encoding: base64 List-Id: References: <20180118131359.8365-1-git@andred.net> In-Reply-To: <20180118131359.8365-1-git@andred.net> To: =?iso-8859-1?Q?Andr=E9?= Draszik Cc: linux-kernel@vger.kernel.org, Mimi Zohar , David Howells , James Morris , "Serge E. Hallyn" , "Theodore Y. Ts'o" , Jaegeuk Kim , Kees Cook , Eric Biggers , linux-integrity@vger.kernel.org, keyrings@vger.kernel.org, linux-security-module@vger.kernel.org, linux-fscrypt@vger.kernel.org T24gVGh1LCBKYW4gMTgsIDIwMTggYXQgMDE6MTM6NTlQTSArMDAwMCwgQW5kcukgRHJhc3ppayB3 cm90ZToKPiBmc2NyeXB0IHVzZXMgYSBtYXN0ZXIga2V5IGZvciBlYWNoIGRpcmVjdG9yeSBwb2xp Y3kgZnJvbQo+IHdoaWNoIGFsbCBmdXJ0aGVyIGtleXMgZm9yIHRoYXQgcG9saWN5IGFyZSBkZXJp dmVkLCBhbmQKPiBhdCB0aGUgbW9tZW50IHN1Y2ggYSBtYXN0ZXIga2V5IGhhcyB0byBiZSBpbnNl cnRlZCBpbnRvCj4gYSBrZXJuZWwga2V5cmluZyBhcyBhICdsb2dvbicga2V5IGJ5IHVzZXItc3Bh Y2UuCj4gCj4gV2hpbGUgJ2xvZ29uJyBrZXlzIGhhdmUgdGhlIG5pY2UgcHJvcGVydHkgb2Ygbm90 IGJlaW5nCj4gcmVhZGFibGUgYnkgdXNlci1zcGFjZSAoa2V5Y3RsIGR1bXAgZXRjLiksIHRoZSBm c2NyeXB0CgpUaGVyZSBpcyBubyAna2V5Y3RsIGR1bXAnIGNvbW1hbmQuICBQcm9iYWJseSB5b3Ug bWVhbnQgJ2tleWN0bCByZWFkJy4KCj4gbWFzdGVyIGtleSBzdGlsbCBuZWVkcyB0byBiZSBnZW5l cmF0ZWQgaW5pdGlhbGx5LCBpbiBhCj4gc2VjdXJlIHdheSwgYW5kIGl0IG5lZWRzIHRvIGJlIHNh dmVkIHNvbWV3aGVyZSBmb3IKPiBzdWJzZXF1ZW50IHJlYm9vdHMsIGFuZCBoZW5jZSBhbHNvIG5l ZWRzIHNlY3VyaW5nIGl0c2VsZi4KPiAKPiBVc2FnZSBvZiB0aGUgJ2xvZ29uJyBrZXkgbWVhbnMg dGhhdCBpdCBpcyB1cCB0byB1c2VyLXNwYWNlCj4gdG8gZG8gYWxsIHRoYXQsIG9wZW5pbmcgdXAg dGhlIHBvc3NpYmlsaXR5IG9mIGNyZWF0aW5nCj4gY3J5cHRvZ3JhcGhpY2FsbHkgbm9uLXNvdW5k IG1hc3RlciBrZXlzLCBvciBub3Qgc3RvcmluZwo+IHRoZSBtYXN0ZXIga2V5IHNlY3VyZWx5IGFj cm9zcyByZWJvb3RzLgo+IAo+IE9uZSBhcHByb2FjaCBmb3Igc2VjdXJpbmcgdGhlIG1hc3RlciBr ZXkgd291bGQgYmUgdG8gZG8KPiB0aGF0IHVzaW5nIGEgVFBNIGFuZCB3aGlsZSBvbmUgY291bGQg bWFudWFsbHkgZG8gc28gZS5nLgo+IHVzaW5nIHRwbS10b29scywgdGhhdCBzdGlsbCBsZWF2ZXMg Y3JlYXRpb24gYW5kIGFjdHVhbAo+IGNvcnJlY3QgdXNhZ2Ugb2YgdHBtLXRvb2xzIHVwIHRvIHVz ZXItc3BhY2UsIHRob3VnaC4gQXMgYW4KPiBhc2lkZSwgdHBtLXRvb2xzIG5lZWRzIHRoZSB0Y3Nk IGRhZW1vbiBydW5uaW5nLCB3aGljaCBtYWtlcwo+IGl0IGF3a3dhcmQgdG8gdXNlIGZyb20gd2l0 aGluIGFuIGluaXRyYW1mcywgYW5kIHdoaWxlIG90aGVyCj4gbGlicmFyaWVzIGZvciBpbnRlcmZh Y2luZyB3aXRoIGEgVFBNIGRvIGV4aXN0LCB0aGVyZQo+IGFwcGVhcnMgdG8gYmUgYSBiZXR0ZXIg d2F5Ogo+IAo+IFRoZSBrZXJuZWwgYWxyZWFkeSBoYXMgYSBjb25jZXB0IG9mIHRydXN0ZWQgYXMg d2VsbCBhcwo+IGVuY3J5cHRlZCBrZXlzLiBUcnVzdGVkIGtleXMgYXJlIFRQTSBiYWNrZWQga2V5 cywgd2hpY2ggY2FuCj4gYmUgc2VhbGVkIHRvIFBDUnMgYW5kIGFsc28gZWFzaWx5IGJlIHJlLXNl YWxlZCBhZ2FpbnN0IG5ldwo+IGZ1dHVyZSBQQ1JzLCBhbmQgZW5jcnlwdGVkIGtleXMgYXJlIGtl eXMgdGhhdCBhcmUgZW5jcnlwdGVkCj4gdXNpbmcgYW5vdGhlciBrZXksIGUuZy4gYSB0cnVzdGVk IGtleS4gQWxsIGFyZSBnZW5lcmF0ZWQKPiBhdXRvbWF0aWNhbGx5IGJ5IHRoZSBrZXJuZWwgdXNp bmcgdGhlIFJORyBhbmQgbmV2ZXIgbGVhdmUKPiBrZXJuZWwgbWVtb3J5IHNwYWNlIChiYXIgYW55 IGtlcm5lbCBvciBoYXJkd2FyZSBidWdzKS4KClNheWluZyAidGhlIFJORyIgaXMgdW5jbGVhciwg c2luY2UgImVuY3J5cHRlZCIga2V5cyBhcmUgZ2VuZXJhdGVkIHVzaW5nIHRoZQprZXJuZWwncyBS Tkcgd2hlcmVhcyAidHJ1c3RlZCIga2V5cyBhcmUgZ2VuZXJhdGVkIHVzaW5nIHRoZSBUUE0ncyBS TkcuCgo+IAo+IFNvIGl0IHNlZW1zIHJlYXNvbmFibGUgdG8gYWxsb3cgdGhlIGZzY3J5cHQgc3Vi c3lzdGVtIHRvCj4gd29yayB3aXRoIGVuY3J5cHRlZCBrZXlzIGFzIHdlbGwuIFRoaXMgaXMgd2hh dCB0aGlzIGNoYW5nZQo+IGhlcmUgZG9lcy4KPiAKPiBXZSBjYW4gdXRpbGlzZSBrZXlzIHRoYXQg bmV2ZXIgZXZlciBleGlzdCBpbiB1c2VyLXNwYWNlLAo+IG5vdCBldmVuIGF0IGluaXRpYWwgY3Jl YXRpb24gdGltZSwgYXMgd2VsbCBhcyBzaW1wbGlmeWluZwo+IHVzYWdlIC8gY29uZmlndXJhdGlv bi4gU29tZXRoaW5nIHZlcnkgdmVyeSBzaW1pbGFyIGV4aXN0cwo+IGZvciBlQ3J5cHRzIGFscmVh ZHkuCgp0eXBvOiBlQ3J5cHRzID0+IGVDcnlwdGZzCgpbLi4uXQo+IGRpZmYgLS1naXQgYS9Eb2N1 bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2ZzY3J5cHQucnN0IGIvRG9jdW1lbnRhdGlvbi9maWxlc3lz dGVtcy9mc2NyeXB0LnJzdAo+IGluZGV4IDc3NmRkYzY1NWY3OS4uODUyYWMyOTAwYjY2IDEwMDY0 NAo+IC0tLSBhL0RvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvZnNjcnlwdC5yc3QKPiArKysgYi9E b2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2ZzY3J5cHQucnN0Cj4gQEAgLTM2OCwxMSArMzY4LDE5 IEBAIEFkZGluZyBrZXlzCj4gIFRvIHByb3ZpZGUgYSBtYXN0ZXIga2V5LCB1c2Vyc3BhY2UgbXVz dCBhZGQgaXQgdG8gYW4gYXBwcm9wcmlhdGUKPiAga2V5cmluZyB1c2luZyB0aGUgYWRkX2tleSgp IHN5c3RlbSBjYWxsIChzZWU6Cj4gIGBgRG9jdW1lbnRhdGlvbi9zZWN1cml0eS9rZXlzL2NvcmUu cnN0YGApLiAgVGhlIGtleSB0eXBlIG11c3QgYmUKPiAtImxvZ29uIjsga2V5cyBvZiB0aGlzIHR5 cGUgYXJlIGtlcHQgaW4ga2VybmVsIG1lbW9yeSBhbmQgY2Fubm90IGJlCj4gLXJlYWQgYmFjayBi eSB1c2Vyc3BhY2UuICBUaGUga2V5IGRlc2NyaXB0aW9uIG11c3QgYmUgImZzY3J5cHQ6Igo+IC1m b2xsb3dlZCBieSB0aGUgMTYtY2hhcmFjdGVyIGxvd2VyIGNhc2UgaGV4IHJlcHJlc2VudGF0aW9u IG9mIHRoZQo+IC1gYG1hc3Rlcl9rZXlfZGVzY3JpcHRvcmBgIHRoYXQgd2FzIHNldCBpbiB0aGUg ZW5jcnlwdGlvbiBwb2xpY3kuICBUaGUKPiAta2V5IHBheWxvYWQgbXVzdCBjb25mb3JtIHRvIHRo ZSBmb2xsb3dpbmcgc3RydWN0dXJlOjoKPiArZWl0aGVyICJsb2dvbiIgb3IgImVuY3J5cHRlZCI7 ICJsb2dvbiIga2V5cyBhcmUga2VwdCBpbiBrZXJuZWwKPiArbWVtb3J5IGFuZCBjYW5ub3QgYmUg cmVhZCBiYWNrIGJ5IHVzZXJzcGFjZSB3aGlsZSAiZW5jcnlwdGVkIgo+ICtrZXlzIGNhbiBiZSBy b290ZWQgaW4gYSAidHJ1c3RlZCIga2V5IGFuZCB0aHVzIGFyZSBwcm90ZWN0ZWQgYnkKPiArYSBU UE0gYW5kIGNhbm5vdCBiZSByZWFkIGJ5IHVzZXJzcGFjZSBpbiB1bmVuY3J5cHRlZCBmb3JtLiBO b3RlCj4gK3RoYXQgd2hpbGUgYW4gImVuY3J5cHRlZCIga2V5IGNhbiBhbHNvIGJlIHJvb3RlZCBp biBhICJ1c2VyIiBrZXksCj4gK2FueSAiZW5jcnlwdGVkIiBrZXkgcm9vdGVkIGluIGEgInVzZXIi IGtleSBjYW4gZWZmZWN0aXZlbHkgYmUKPiArcmV0cmlldmVkIGluIHRoZSBjbGVhciwgaGVuY2Ug b25seSByb290aW5nIHRoZSBrZXkgaW4gYSAidHJ1c3RlZCIKPiAra2V5IGhhcyBhbnkgdXNlZnVs IHNlY3VyaXR5IHByb3BlcnRpZXMhCj4gKwo+ICtUaGUga2V5IGRlc2NyaXB0aW9uIG11c3QgYmUg ImZzY3J5cHQ6IiBmb2xsb3dlZCBieSB0aGUgMTYtY2hhcmFjdGVyCj4gK2xvd2VyIGNhc2UgaGV4 IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBgYG1hc3Rlcl9rZXlfZGVzY3JpcHRvcmBgIHRoYXQKPiAr d2FzIHNldCBpbiB0aGUgZW5jcnlwdGlvbiBwb2xpY3kuICBGb3IgYSAibG9nb24iIGtleSwga2V5 IHBheWxvYWQKPiArbXVzdCBjb25mb3JtIHRvIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlOjoKPiAg Cj4gICAgICAjZGVmaW5lIEZTX01BWF9LRVlfU0laRSA2NAo+ICAKPiBAQCAtMzg2LDYgKzM5NCwx NyBAQCBrZXkgcGF5bG9hZCBtdXN0IGNvbmZvcm0gdG8gdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmU6 Ogo+ICBgYHJhd2BgIHdpdGggYGBzaXplYGAgaW5kaWNhdGluZyBpdHMgc2l6ZSBpbiBieXRlcy4g IFRoYXQgaXMsIHRoZQo+ICBieXRlcyBgYHJhd1swLi5zaXplLTFdYGAgKGluY2x1c2l2ZSkgYXJl IHRoZSBhY3R1YWwga2V5Lgo+ICAKPiArV2hlbiB1c2luZyBhbiAiZW5jcnlwdGVkIiBrZXksIG9u bHkgdGhlIGFjdHVhbCBgYHJhd2BgIGtleSBmcm9tIGFib3ZlCj4gK2ZzY3J5cHRfa2V5IHN0cnVj dHVyZSBpcyBuZWVkZWQ6Ogo+ICsKPiArICAgIGtleWN0bCBhZGQgZW5jcnlwdGVkICJmc2NyeXB0 OmBgbWFzdGVyX2tleV9kZXNjcmlwdG9yYGAiICJuZXcgZGVmYXVsdCB0cnVzdGVkOmBgbWFzdGVy LWtleS1uYW1lYGAgYGBzaXplYGAiIGBgcmluZ2BgCj4gKyAgICBrZXljdGwgYWRkIGVuY3J5cHRl ZCAiZnNjcnlwdDpgYG1hc3Rlcl9rZXlfZGVzY3JpcHRvcmBgIiAibG9hZCBgYGhleF9ibG9iYGAi IGBgcmluZ2BgCj4gKwo+ICtXaGVyZTo6Cj4gKwo+ICsgICAgbWFzdGVyLWtleS1uYW1lOj0gbmFt ZSBvZiB0aGUgdHJ1c3RlZCBrZXkgdGhpcyBmc2NyeXB0IG1hc3RlciBrZXkKPiArICAgICAgICAg ICAgICAgICAgICAgIHNoYWxsIGJlIHJvb3RlZCBpbgo+ICsKCldlIG5lZWQgdG8gYmUgdmVyeSBj YXJlZnVsIHdpdGggdGhlIHdvcmRpbmcuICBGb3IgZXhhbXBsZSBpdCdzIGltcGxpZWQgdGhhdApl bmNyeXB0ZWQga2V5cyBjYW5ub3QgYmUgcmVhZCBieSB1c2Vyc3BhY2UgYmVjYXVzZSB0aGV5IGFy ZSBwcm90ZWN0ZWQgYnkgYSBUUE0sCmJ1dCB0aGF0J3Mgbm90IHRydWUuICBUaGV5IGNhbiBiZSAq d3JhcHBlZCogYnkgYSBrZXkgd2hpY2ggaW4gdHVybiBjYW4gYmUKVFBNLXNlYWxlZCwgYnV0IG9u Y2UgdW53cmFwcGVkIHRoZXkgYXJlIHByZXNlbnQgaW4gdGhlIGNsZWFyIGluIGtlcm5lbCBtZW1v cnksCmFuZCBpdCdzIG9ubHkgdGhlIHBvbGljeSBvZiB0aGUga2VybmVsIGNvZGUgdGhhdCB0aGV5 IGNhbid0IGJlIHJlYWQgYmFjayBpbiB0aGUKY2xlYXIuCgpBbHNvIHRoZSAibG9nb24iIGFuZCAi ZW5jcnlwdGVkIiBrZXkgdHlwZXMgc2hvdWxkIHByb2JhYmx5IGJlIGluIHRoZWlyIG93bgpzdWJz ZWN0aW9ucywgc28gdGhhdCB0aGVyZSBpcyBzcGFjZSB0byBleHBsYWluIHRoZW0gcHJvcGVybHku CgpJJ3ZlIHRyaWVkIHJlb3JnYW5pemluZyB0aGUgc2VjdGlvbiBhIGJpdCBhbmQgdGhpcyBpcyB3 aGF0IEkgY2FtZSB1cCB3aXRoOgoKQWRkaW5nIGtleXMKLS0tLS0tLS0tLS0KClRvIHByb3ZpZGUg YSBtYXN0ZXIga2V5LCB1c2Vyc3BhY2UgbXVzdCBhZGQgaXQgdG8gYW4gYXBwcm9wcmlhdGUKa2V5 cmluZyB1c2luZyB0aGUgYWRkX2tleSgpIHN5c3RlbSBjYWxsIChzZWU6CmBgRG9jdW1lbnRhdGlv bi9zZWN1cml0eS9rZXlzL2NvcmUucnN0YGApLgoKVGhlIGtleSBkZXNjcmlwdGlvbiBtdXN0IGJl ICJmc2NyeXB0OiIgZm9sbG93ZWQgYnkgdGhlIDE2LWNoYXJhY3Rlcgpsb3dlciBjYXNlIGhleCBy ZXByZXNlbnRhdGlvbiBvZiB0aGUgYGBtYXN0ZXJfa2V5X2Rlc2NyaXB0b3JgYCB0aGF0CndhcyBz ZXQgaW4gdGhlIGVuY3J5cHRpb24gcG9saWN5LiAgVGhlICJmc2NyeXB0OiIgcHJlZml4IGNhbgph bHRlcm5hdGl2ZWx5IGJlIHJlcGxhY2VkIHdpdGggYSBmaWxlc3lzdGVtLXNwZWNpZmljIHByZWZp eCBzdWNoIGFzCiJleHQ0OiIuICBIb3dldmVyLCB0aGUgZmlsZXN5c3RlbS1zcGVjaWZpYyBwcmVm aXhlcyBhcmUgZGVwcmVjYXRlZCBhbmQKc2hvdWxkIG5vdCBiZSB1c2VkIGluIG5ldyBwcm9ncmFt cy4KClRoZSBrZXkgdHlwZSBtdXN0IGJlICJsb2dvbiIgb3IgImVuY3J5cHRlZCIsIGFzIGRlc2Ny aWJlZCBiZWxvdy4KU3VwcG9ydCBmb3IgdGhlICJsb2dvbiIga2V5IHR5cGUgd2lsbCBhbHdheXMg YmUgYXZhaWxhYmxlIHdoZW4gYW55CmZpbGVzeXN0ZW0gaGFzIGZzY3J5cHQgc3VwcG9ydCBlbmFi bGVkLCB3aGVyZWFzIHN1cHBvcnQgZm9yIHRoZQoiZW5jcnlwdGVkIiBrZXkgdHlwZSBhZGRpdGlv bmFsbHkgcmVxdWlyZXMgQ09ORklHX0VOQ1JZUFRFRF9LRVlTPXkuCgpMb2dvbiBrZXkgdHlwZQp+ fn5+fn5+fn5+fn5+fgoKV2l0aCB0aGUgImxvZ29uIiB0eXBlLCB1c2Vyc3BhY2UgaXMgcmVzcG9u c2libGUgZm9yIGdlbmVyYXRpbmcgb3IKdW53cmFwcGluZyB0aGUgbWFzdGVyIGtleSwgdGhlbiBw YXNzaW5nIGl0IHRvIHRoZSBrZXJuZWwgaW4gdGhlCmZvbGxvd2luZyBmb3JtYXQ6CgogICAgI2Rl ZmluZSBGU19NQVhfS0VZX1NJWkUgNjQKCiAgICBzdHJ1Y3QgZnNjcnlwdF9rZXkgewogICAgICAg ICAgICB1MzIgbW9kZTsKICAgICAgICAgICAgdTggcmF3W0ZTX01BWF9LRVlfU0laRV07CiAgICAg ICAgICAgIHUzMiBzaXplOwogICAgfTsKCmBgbW9kZWBgIGlzIGlnbm9yZWQ7IGp1c3Qgc2V0IGl0 IHRvIDAuICBUaGUgYWN0dWFsIGtleSBpcyBwcm92aWRlZCBpbgpgYHJhd2BgIHdpdGggYGBzaXpl YGAgaW5kaWNhdGluZyBpdHMgc2l6ZSBpbiBieXRlcy4gIFRoYXQgaXMsIHRoZQpieXRlcyBgYHJh d1swLi5zaXplLTFdYGAgKGluY2x1c2l2ZSkgYXJlIHRoZSBhY3R1YWwga2V5LgoKVGhlICJsb2dv biIga2V5IHdpbGwgdGhlbiBiZSBzdG9yZWQgaW4ga2VybmVsIG1lbW9yeSBmb3IgdGhlCmZpbGVz eXN0ZW0gdG8gdXNlLiAgVGhlcmUgaXMgbm8gQVBJIGZvciB1c2Vyc3BhY2UgdG8gcmVhZCBpdCBi YWNrLgoKRW5jcnlwdGVkIGtleSB0eXBlCn5+fn5+fn5+fn5+fn5+fn5+fgoKV2l0aCB0aGUgImVu Y3J5cHRlZCIga2V5IHR5cGUsIHRoZSBrZXkgaXMgaW5pdGlhbGx5IHJhbmRvbWx5IGdlbmVyYXRl ZApieSB0aGUga2VybmVsLiAgVGhlbiwgdXNlcnNwYWNlIGNhbiByZWFkIGl0IGJhY2sgYXMgYSBi bG9iIHdyYXBwZWQgYnkKYW5vdGhlciBrZXkuICBJbiBwYXJ0aWN1bGFyLCBpdCBjYW4gYmUgd3Jh cHBlZCBieSBhICJ0cnVzdGVkIiBrZXksCndoaWNoIGNhbiBiZSBzZWFsZWQgdG8gYSBUUE0gaW4g YSBjZXJ0YWluIHN0YXRlLCB3aXRoIG9ubHkgdGhlClRQTS1zZWFsZWQgYmxvYiBiZWluZyBtYWRl IGF2YWlsYWJsZSB0byB1c2Vyc3BhY2UuICBUaGVuLCB1c2Vyc3BhY2UKY2FuIGxhdGVyIHJlLWlu c3RhbnRpYXRlIHRoZSAiZW5jcnlwdGVkIiBrZXkgYnkgZmlyc3QgcmUtaW5zdGFudGlhdGluZwp0 aGUgbmVlZGVkICJ0cnVzdGVkIiBrZXksIHRoZW4gcHJvdmlkaW5nIHRoZSBlbmNyeXB0ZWQta2V5 IGJsb2IgdG8gYmUKdW53cmFwcGVkIGJ5IHRoZSBrZXJuZWwuICBGb3IgZXhhbXBsZToKCiAgICAj IGNyZWF0ZSBhIG5ldyBlbmNyeXB0ZWQta2V5CiAgICBrZXljdGwgYWRkIGVuY3J5cHRlZCAiZnNj cnlwdDpgYG1hc3Rlcl9rZXlfZGVzY3JpcHRvcmBgIiAibmV3IGRlZmF1bHQgdHJ1c3RlZDpgYG1h c3Rlci1rZXktZGVzY2BgIGBgc2l6ZWBgIiBgYHJpbmdgYAoKICAgICMgdW53cmFwIGFuIGV4aXN0 aW5nIGVuY3J5cHRlZC1rZXkgYmxvYgogICAga2V5Y3RsIGFkZCBlbmNyeXB0ZWQgImZzY3J5cHQ6 YGBtYXN0ZXJfa2V5X2Rlc2NyaXB0b3JgYCIgImxvYWQgYGBoZXhfYmxvYmBgIiBgYHJpbmdgYAoK V2hlcmU6OgoKICAgIG1hc3Rlci1rZXktZGVzYzo9IGRlc2NyaXB0aW9uIG9mIHRoZSB0cnVzdGVk IGtleSB0aGlzIGZzY3J5cHQgbWFzdGVyIGtleQogICAgICAgICAgICAgICAgICAgICAgc2hhbGwg YmUgd3JhcHBlZCBieQoKICAgIHNpemUgOj0gZGVzaXJlZCBzaXplIG9mIHRoZSBmc2NyeXB0IG1h c3RlciBrZXkgaW4gYnl0ZXMKCiAgICByaW5nIDo9IGtleXJpbmcgdG8gYWRkIHRoZSBrZXkgdG8K ClRoZSAiZW5jcnlwdGVkIiBrZXkgbXVzdCBiZSBpbnN0YW50aWF0ZWQgdXNpbmcgdGhlICJkZWZh dWx0IiBmb3JtYXQsCnNpbmNlIGl0cyBkZWNyeXB0ZWQgcGF5bG9hZCBpcyB0cmVhdGVkIGFzIHRo ZSByYXcgbWFzdGVyIGtleTsgdGhhdCBpcywKdGhlIGBgZnNjcnlwdF9rZXlgYCBzdHJ1Y3R1cmUg aXMgbm90IHVzZWQuCgpOb3RlIHRoYXQganVzdCBsaWtlICJsb2dvbiIga2V5cywgImVuY3J5cHRl ZCIga2V5cyBhcmUgYWN0dWFsbHkKcHJlc2VudCBpbiBrZXJuZWwgbWVtb3J5IGluIHRoZSBjbGVh ciBhZnRlciBiZWluZyBhZGRlZC4gIFRodXMsIHRoZXkKYXJlIG5vdCBzYWZlIGZyb20gYXR0YWNr cyB0aGF0IGNvbXByb21pc2Uga2VybmVsIG1lbW9yeS4gIEhvd2V2ZXIsCnRoZXkgY2Fubm90IGJl IHJlYWQgYmFjayBpbiB0aGUgY2xlYXIgdXNpbmcgdGhlIHN5c3RlbSBjYWxsIGludGVyZmFjZS4K CkNob2ljZSBvZiBrZXlyaW5nCn5+fn5+fn5+fn5+fn5+fn5+CgpUaGVyZSBhcmUgc2V2ZXJhbCBk aWZmZXJlbnQgdHlwZXMgb2Yga2V5cmluZ3MgaW4gd2hpY2ggZnNjcnlwdCBtYXN0ZXIKa2V5cyBt YXkgYmUgcGxhY2VkLCBzdWNoIGFzIGEgc2Vzc2lvbiBrZXlyaW5nLCBhIHVzZXIgc2Vzc2lvbiBr ZXlyaW5nLApvciBhIHVzZXIga2V5cmluZy4gIEVhY2gga2V5IG11c3QgYmUgcGxhY2VkIGluIGEg a2V5cmluZyB0aGF0IGlzCiJhdHRhY2hlZCIgdG8gYWxsIHByb2Nlc3NlcyB0aGF0IG1pZ2h0IG5l ZWQgdG8gYWNjZXNzIGZpbGVzIGVuY3J5cHRlZAp3aXRoIGl0LCBpbiB0aGUgc2Vuc2UgdGhhdCBy ZXF1ZXN0X2tleSgpIHdpbGwgZmluZCB0aGUga2V5LgpHZW5lcmFsbHksIGlmIG9ubHkgcHJvY2Vz c2VzIGJlbG9uZ2luZyB0byBhIHNwZWNpZmljIHVzZXIgbmVlZCB0bwphY2Nlc3MgYSBnaXZlbiBl bmNyeXB0ZWQgZGlyZWN0b3J5IGFuZCBubyBzZXNzaW9uIGtleXJpbmcgaGFzIGJlZW4KaW5zdGFs bGVkLCB0aGVuIHRoYXQgZGlyZWN0b3J5J3Mga2V5IHNob3VsZCBiZSBwbGFjZWQgaW4gdGhhdCB1 c2VyJ3MKdXNlciBzZXNzaW9uIGtleXJpbmcgb3IgdXNlciBrZXlyaW5nLiAgT3RoZXJ3aXNlLCBh IHNlc3Npb24ga2V5cmluZwpzaG91bGQgYmUgaW5zdGFsbGVkIGlmIG5lZWRlZCwgYW5kIHRoZSBr ZXkgc2hvdWxkIGJlIGxpbmtlZCBpbnRvIHRoYXQKc2Vzc2lvbiBrZXlyaW5nLCBvciBpbiBhIGtl eXJpbmcgbGlua2VkIGludG8gdGhhdCBzZXNzaW9uIGtleXJpbmcuCgpOb3RlOiBpbnRyb2R1Y2lu ZyB0aGUgY29tcGxleCB2aXNpYmlsaXR5IHNlbWFudGljcyBvZiBrZXlyaW5ncyBoZXJlCndhcyBh cmd1YWJseSBhIG1pc3Rha2UgLS0tIGVzcGVjaWFsbHkgZ2l2ZW4gdGhhdCBieSBkZXNpZ24sIGFm dGVyIGFueQpwcm9jZXNzIHN1Y2Nlc3NmdWxseSBvcGVucyBhbiBlbmNyeXB0ZWQgZmlsZSAodGhl cmVieSBzZXR0aW5nIHVwIHRoZQpwZXItZmlsZSBrZXkpLCBwb3NzZXNzaW5nIHRoZSBrZXlyaW5n IGtleSBpcyBub3QgYWN0dWFsbHkgcmVxdWlyZWQgZm9yCmFueSBwcm9jZXNzIHRvIHJlYWQvd3Jp dGUgdGhlIGZpbGUgdW50aWwgaXRzIGluLW1lbW9yeSBpbm9kZSBpcwpldmljdGVkLiAgSW4gdGhl IGZ1dHVyZSB0aGVyZSBwcm9iYWJseSBzaG91bGQgYmUgYSB3YXkgdG8gcHJvdmlkZSBrZXlzCmRp cmVjdGx5IHRvIHRoZSBmaWxlc3lzdGVtIGluc3RlYWQsIHdoaWNoIHdvdWxkIG1ha2UgdGhlIGlu dGVuZGVkCnNlbWFudGljcyBjbGVhcmVyLgotLQpUbyB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlz dDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUga2V5cmluZ3MiIGluCnRoZSBib2R5IG9mIGEg bWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5rZXJuZWwub3JnCk1vcmUgbWFqb3Jkb21vIGluZm8g YXQgIGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbA==