Re: PKCS11 - Key not found
Aleksey Sanin <[email protected]> Thu, 14 Sep 2017 12:11:39 -0700
| Newsgroups | gmane.text.xml.xmlsec |
|---|---|
| Message-ID | <[email protected]> |
SnVzdCBhIGhlYWRzIHVwIHRoYXQgSSd2ZSBnb3QgYSByZXBvcnQgdGhhdCB0aGlzIGNoYW5nZQpj YXVzZSBwcm9ibGVtcyBmb3Igb3RoZXIgdXNlcnMuIEkgd2lsbCBiZSByb2xsaW5nIGl0IGJhY2sK KGFuZCBJIHN0aWxsIGRvbid0IGhhdmUgYSBnb29kIHdheSB0byBkZXRlcm1pbmUgUlNBIGtleQp0 eXBlKS4KCkFsZWtzZXkKCk9uIDExLzEyLzE2IDg6MTcgQU0sIFBhYmxvIEdhYnJpZWwgR2FsbGFy ZG8gd3JvdGU6Cj4gQWxla3NleSwKPiAKPiBJdCB3b3JrZWQhIFRoYW5rIHlvdSBzbyBtdWNoIGZv ciB5b3VyIGhlbHAgYW5kIHRpbWUhCj4gCj4gPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i VVRGLTgiPz4KPiA8IS0tCj4gWE1MIFNlY3VyaXR5IExpYnJhcnkgZXhhbXBsZTogT3JpZ2luYWwg WE1MIGRvYyBmaWxlIGZvciBzaWduMyBleGFtcGxlLgo+IC0tPgo+IDxFbnZlbG9wZSB4bWxucz0i dXJuOmVudmVsb3BlIj4KPiAgIDxEYXRhPgo+ICAgICAgICAgSGVsbG8sIFdvcmxkIQo+ICAgPC9E YXRhPgo+IDxTaWduYXR1cmUgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNp ZyMiPgo+IDxTaWduZWRJbmZvPgo+IDxDYW5vbmljYWxpemF0aW9uTWV0aG9kIEFsZ29yaXRobT0i aHR0cDovL3d3dy53My5vcmcvMjAwMS8xMC94bWwtZXhjLWMxNG4jIi8+Cj4gPFNpZ25hdHVyZU1l dGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNyc2Etc2hh MSIvPgo+IDxSZWZlcmVuY2U+Cj4gPFRyYW5zZm9ybXM+Cj4gPFRyYW5zZm9ybSBBbGdvcml0aG09 Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyNlbnZlbG9wZWQtc2lnbmF0dXJlIi8+ Cj4gPC9UcmFuc2Zvcm1zPgo+IDxEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3Lncz Lm9yZy8yMDAwLzA5L3htbGRzaWcjc2hhMSIvPgo+IDxEaWdlc3RWYWx1ZT5Ialk4aWxaQUlFTTJ0 QmJQbjVtWU8xaWVJWDQ9PC9EaWdlc3RWYWx1ZT4KPiA8L1JlZmVyZW5jZT4KPiA8L1NpZ25lZElu Zm8+Cj4gPFNpZ25hdHVyZVZhbHVlPlBlcDBlOC9wVlpWL2dtRk5PcWdmQ045aHJ5ditrNWdWUC93 eXpPU2E0OXVpOEsvVmZJdTNOa2NtMkZXRHBoQW8KPiBQSkJNT3c4QkVBOWh0bXNncm1tZGhXUElN NWJzTTFyZm4wNzJGY3pCQ3FiVysvRzZ4MjZjRysrWmtKN0U4akJHCj4gWjMzdkFYTEZMZFlPSnZD WHRzV3duNEl2QVBvUnlZZFZ5ejFiNkZFQjBLd1VNcjRyeUxXcEVYRytLMGpRcEMzawo+IHVQMm8w NmZVczVNM0lCVzErUFREcWlONkF5aXdVZzg1bDFVbHFhbXE1UVVLbTdWSk1va0JYTDhldm1MUzE3 MXIKPiAxUGh3V1dIS1A2YVFKYTZ5ZGZ3M3hrWTRSZERTSkV4MEUwbWxrYXB3Q2tkQmZtQjUyT1ky UWFDQ3JBWk9FZnpnCj4gaFhVaXQ4OXNJUWZBV25BQU9mc0FNQT09PC9TaWduYXR1cmVWYWx1ZT4K PiA8S2V5SW5mbz4KPiA8WDUwOURhdGE+Cj4gPFg1MDlTdWJqZWN0TmFtZS8+Cj4gPFg1MDlDZXJ0 aWZpY2F0ZS8+Cj4gPC9YNTA5RGF0YT4KPiA8L0tleUluZm8+Cj4gPC9TaWduYXR1cmU+PC9FbnZl bG9wZT4KPiAKPiBSZWdhcmRzLAo+IAo+IFBhYmxvIEcuIEdhbGxhcmRvCj4gCj4gMjAxNi0xMS0x MiAzOjQ2IEdNVC0wMjowMCBBbGVrc2V5IFNhbmluIDxhbGVrc2V5QGFsZWtzZXkuY29tPjoKPj4g Q2FuIHlvdSB0cnkgdGhpcyBwYXRjaCAoaXQgaXMgYWxyZWFkeSBtZXJnZWQgdG8gdGhlIG1hc3Rl ciBvbiBnaXRodWIgLS0KPj4geW91IHdpbGwgbmVlZCB0byByZWNvbXBpbGUgdGhlIGxpYnJhcnkg YW5kIGVuc3VyZSB5b3UgYXJlIGxvYWRpbmcKPj4gdGhlIHJlY29tcGlsZWQgbGlicyBpbnN0ZWFk IG9mIHRoZSBkZWZhdWx0IG9uZXMpOgo+Pgo+PiBodHRwczovL2dpdGh1Yi5jb20vbHNoMTIzL3ht bHNlYy9wdWxsLzU5Cj4+Cj4+IEkgYmVsaWV2ZSB0aGlzIHNob3VsZCBoZWxwIHdpdGggUlNBLiBJ IGhhdmUgbm8gaWRlYSB3aGF0IHRvIGRvIHdpdGggRFNBCj4+IHNpbmNlIEkgZG9uJ3Qgc2VlIGFu eSBpbmRpY2F0aW9uIGluIHRoZSBkZWJ1ZyBwcmludG91dCB0aGF0IHRoaXMga2V5IGlzCj4+IHBy aXZhdGUuCj4+Cj4+IEFsZWtzZXkKPj4KPj4gT24gMTEvMTEvMTYgMjo0MiBQTSwgUGFibG8gR2Fi cmllbCBHYWxsYXJkbyB3cm90ZToKPj4+IEFsZWtzZXksCj4+Pgo+Pj4gSGVyZSB5b3UgaGF2ZSB0 aGUgUlNBIGFuZCBEU0Egb2JqZWN0cyBmcm9tIG15IHNtYXJ0IGNhcmQgaW4gZXhlY3V0aW9uIHRp bWU6Cj4+PiBSU0E6Cj4+PiAkMSA9IHtwYWQgPSAwLCB2ZXJzaW9uID0gMCwgbWV0aCA9IDB4ODE4 NWJiOCwgZW5naW5lID0gMHgwLCBuID0KPj4+IDB4ODE4NjE1OCwgZSA9IDB4ODE4NmEzMCwgZCA9 IDB4MCwgcCA9IDB4MCwgcSA9IDB4MCwgZG1wMSA9IDB4MCwgZG1xMQo+Pj4gPSAweDAsIGlxbXAg PSAweDAsIGV4X2RhdGEgPSB7c2sgPSAweDgxODVjMTAsIGR1bW15ID0gMH0sIHJlZmVyZW5jZXMg PQo+Pj4gMSwgZmxhZ3MgPSA2LAo+Pj4gICBfbWV0aG9kX21vZF9uID0gMHgwLCBfbWV0aG9kX21v ZF9wID0gMHgwLCBfbWV0aG9kX21vZF9xID0gMHgwLAo+Pj4gYmlnbnVtX2RhdGEgPSAweDAsIGJs aW5kaW5nID0gMHgwLCBtdF9ibGluZGluZyA9IDB4MH0KPj4+Cj4+PiBSU0EtPm1ldGg6Cj4+PiAo Z2RiKSBwICpwS2V5LnBrZXktPnJzYS0+bWV0aAo+Pj4gJDMgPSB7bmFtZSA9IDB4ODE4NWJmOCAi bGlicDExIFJTQSBtZXRob2QiLCByc2FfcHViX2VuYyA9IDB4YjdkNjU1NzAsCj4+PiByc2FfcHVi X2RlYyA9IDB4YjdkNjUwZDAsIHJzYV9wcml2X2VuYyA9IDB4YjdjYmJiMjAKPj4+IDxwa2NzMTFf cnNhX3ByaXZfZW5jX21ldGhvZD4sIHJzYV9wcml2X2RlYyA9IDB4YjdjYmJiYjAKPj4+IDxwa2Nz MTFfcnNhX3ByaXZfZGVjX21ldGhvZD4sIHJzYV9tb2RfZXhwID0gMHhiN2Q2NDc5MCwKPj4+ICAg Ym5fbW9kX2V4cCA9IDB4YjdkM2RiZjAgPEJOX21vZF9leHBfbW9udD4sIGluaXQgPSAweGI3ZDY0 NzIwLCBmaW5pc2gKPj4+ID0gMHhiN2NiYjVjMCA8cGtjczExX3JzYV9mcmVlX21ldGhvZD4sIGZs YWdzID0gMCwgYXBwX2RhdGEgPSAweDAsCj4+PiByc2Ffc2lnbiA9IDB4MCwgcnNhX3ZlcmlmeSA9 IDB4MCwgcnNhX2tleWdlbiA9IDB4MH0KPj4+Cj4+PiBSU0FfdGVzdF9mbGFncyhyc2EsIFJTQV9G TEFHX0VYVF9QS0VZKSA9IDAKPj4+Cj4+PiBEU0E6Cj4+PiAoZ2RiKSBwICpwS2V5LnBrZXktPmRz YQo+Pj4gJDIgPSB7cGFkID0gMCwgdmVyc2lvbiA9IDAsIHdyaXRlX3BhcmFtcyA9IDEzNTgxNDA3 MiwgcCA9IDB4MCwgcSA9Cj4+PiAweDgxODYxNTgsIGcgPSAweDgxODZhMzAsIHB1Yl9rZXkgPSAw eDAsIHByaXZfa2V5ID0gMHgwLCBraW52ID0gMHgwLCByCj4+PiA9IDB4MCwgZmxhZ3MgPSAwLCBt ZXRob2RfbW9udF9wID0gMHgwLCByZWZlcmVuY2VzID0gMTM1ODE0MTYwLCBleF9kYXRhCj4+PiA9 IHtzayA9IDB4MCwgZHVtbXkgPSAxfSwKPj4+ICAgbWV0aCA9IDB4NiwgZW5naW5lID0gMHgwfQo+ Pj4KPj4+Cj4+PiBJJ3ZlIHRyaWVkIHRvIGRlYnVnIHRoZSBzb3VyY2VzIG9uIEdpdEh1YiBidXQg SSd2ZSBnb3QgdGhpcyBlcnJvcjoKPj4+IGZ1bmM9eG1sU2VjQ2hlY2tWZXJzaW9uRXh0OmZpbGU9 eG1sc2VjLmM6bGluZT0xNzA6b2JqPXVua25vd246c3Viaj11bmtub3duOmVycm9yPTE6eG1sc2Vj Cj4+PiBsaWJyYXJ5IGZ1bmN0aW9uIGZhaWxlZDptb2RlPWFiaSBjb21wYXRpYmxlO2V4cGVjdGVk IG1pbm9yCj4+PiB2ZXJzaW9uPTI7cmVhbCBtaW5vciB2ZXJzaW9uPTI7ZXhwZWN0ZWQgc3VibWlu b3IgdmVyc2lvbj0yMDtyZWFsCj4+Cj4+Cj4+PiBzdWJtaW5vciB2ZXJzaW9uPTIzCj4+PiBFcnJv cjogbG9hZGVkIHhtbHNlYyBsaWJyYXJ5IHZlcnNpb24gaXMgbm90IGNvbXBhdGlibGUuCj4+Pgo+ Pj4gQnV0IHdpdGggdGhlIGluZm9ybWF0aW9uIGFib3ZlIFJTQSBpcyByZWNvZ25pemVkIGFzIGEg cHVibGljIGtleQo+Pj4gYmVjYXVzZSByc2EtPmQgPSBOVUxMIGFuZCBSU0FfdGVzdF9mbGFncyhy c2EsIFJTQV9GTEFHX0VYVF9QS0VZKSA9IDAuCj4+Pgo+Pj4gVGhhbmsgeW91IGZvciB5b3VyIGlu dGVyZXN0IGluIG15IGNhc2UuIFdoYXQgY2FuIEkgZG8gdG8gZml4IHRoaXM/Cj4+PiBTaG91bGQg SSBjcmVhdGUgMiBmdW5jdGlvbnMgaW4geG1sc2VjIGZvciBzZXR0aW5nIEVWUF9QS0VZIChvbmUg Zm9yCj4+PiBwdWJsaWMga2V5IGFuZCBvbmUgZm9yIHRoZSBwcml2YXRlIGtleSk/Cj4+Pgo+Pj4g UmVnYXJkcywKPj4+Cj4+PiBQYWJsbyBHLiBHYWxsYXJkbwo+Pj4KPj4+IDIwMTYtMTEtMTEgMToz OSBHTVQtMDI6MDAgQWxla3NleSBTYW5pbiA8YWxla3NleUBhbGVrc2V5LmNvbT46Cj4+Pj4gQ2Fu IHlvdSBjaGVjayB3aGF0J3MgZ29pbmcgb24gaW4gdGhlc2UgdHdvIHBsYWNlcz8KPj4+Pgo+Pj4+ IGh0dHBzOi8vZ2l0aHViLmNvbS9sc2gxMjMveG1sc2VjL2Jsb2IvbWFzdGVyL3NyYy9vcGVuc3Ns L2V2cC5jI0wxMDEyCj4+Pj4gaHR0cHM6Ly9naXRodWIuY29tL2xzaDEyMy94bWxzZWMvYmxvYi9t YXN0ZXIvc3JjL29wZW5zc2wvZXZwLmMjTDE4ODcKPj4+Pgo+Pj4+IFVuZm9ydHVuYXRlbHksIHRo ZXJlIGlzIG5vIGdvb2Qgd2F5IHRvIGRldGVybWluZSBpZiBhIFBLRVkgaXMgcHVibGljCj4+Pj4g b3IgcHJpdmF0ZS4gVGh1cyB3ZSB1c2UgYSBoYWNrLiBJIGFtIGN1cmlvdXMgd2hhdCBpcyBnb2lu ZyBvbiB0aGVyZQo+Pj4+IGluIHlvdXIgY2FzZS4KPj4+Pgo+Pj4+IEFsZWtzZXkKPj4+Pgo+Pj4+ IE9uIDExLzEwLzE2IDU6MzUgUE0sIFBhYmxvIEdhYnJpZWwgR2FsbGFyZG8gd3JvdGU6Cj4+Pj4+ IEhlbGxvIEFsZWtzZXksCj4+Pj4+Cj4+Pj4+IEkndmUgdXNlZCB0aGUgUlNBIGtleSBmcm9tIG15 IHNtYXJ0Y2FyZCBieSBpdCBpcyBzdGlsbCBiZWluZwo+Pj4+PiByZWNvZ25pemVkIGFzIGEgcHVi bGljIGtleS4gSXMgaXQgYmVjYXVzZSwgYXMgYSBzbWFydCBjYXJkIFJTQSBrZXksIGl0Cj4+Pj4+ IGRvZXNuJ3QgaGF2ZSB0aGUgZCBtZW1iZXIgKGJlY2F1c2UgdGhlIHByaXZhdGUga2V5IG5ldmVy IGxlYXZlcyB0aGUKPj4+Pj4gc21hcnQgY2FyZCk/Cj4+Pj4+Cj4+Pj4+IFJlZ2FyZHMsCj4+Pj4+ Cj4+Pj4+IFBhYmxvCj4+Pj4+Cj4+Pj4+IDIwMTYtMTEtMDkgODo0MyBHTVQtMDI6MDAgUGFibG8g Ry4gR2FsbGFyZG8gPHBnZ2xscmRAZ21haWwuY29tPjoKPj4+Pj4+IEhpIEFsZWtzZXksCj4+Pj4+ Pgo+Pj4+Pj4gVGhhbmsgeW91ISBZb3UgYXJlIHJpZ2h0LiB4bWxTZWNLZXlHZXRUeXBlKGtleSkg cmV0dXJuZWQgMSAocHVibGljIGtleSkuIEknbGwgY2hlY2sgd2h5IGlzIGl0IHJlY29nbml6ZWQg YXMgYSBwdWJsaWMga2V5LiBBcyB5b3Ugc2FpZCwgSSdtIG5vdCBwYXNzaW5nIHRoZSBjb3JyZWN0 IGtleSBvYmplY3QgKFJTQSksIGp1c3QgYWRvcHRpbmcgRVZQX1BLRVkuCj4+Pj4+Pgo+Pj4+Pj4g SSdsbCBmaXggdGhhdCBhbmQgdGhlbiBJJ2xsIGNhbWUgd2l0aCB0aGUgcmVzdWx0Lgo+Pj4+Pj4K Pj4+Pj4+IFRoYW5rIHlvdSEKPj4+Pj4+Cj4+Pj4+PiBQYWJsbwo+Pj4+Pj4KPj4+Pj4+IEVtIDkg ZGUgbm92ZW1icm8gZGUgMjAxNiAwMDoxNzoyNyBCUlNULCBBbGVrc2V5IFNhbmluIDxhbGVrc2V5 QGFsZWtzZXkuY29tPiBlc2NyZXZldToKPj4+Pj4+PiBBc3N1bWluZyB0aGF0IHRoZSBrZXkgdHlw ZSBtYXRjaGVzIHRoZSByZXF1ZXN0ZWQgc2lnbmF0dXJlIHR5cGUKPj4+Pj4+PiBpbiB0aGUgdGVt cGxhdGUgKGkuZS4gUlNBIHNpZ25hdHVyZXMgcmVxdWlyZSBSU0Ega2V5cykuLi4KPj4+Pj4+Pgo+ Pj4+Pj4+IENhbiB5b3UgdHJ5IHRvIHByaW50IHRoZSBrZXkgdHlwZSB3aXRoCj4+Pj4+Pj4KPj4+ Pj4+PiB4bWxTZWNLZXlHZXRUeXBlKGtleSkKPj4+Pj4+Pgo+Pj4+Pj4+IEJhc2ljYWxseSwgSSBz dXNwZWN0IHRoYXQgaXQgZG9lc24ndCByZWNvZ25pemUgdGhlIGtleSBhcyBwcml2YXRlCj4+Pj4+ Pj4gdGh1cyBjYW4ndCBmaW5kIGEgcHJvcGVyIGtleSBmb3IgdGhlIHNpZ25hdHVyZS4KPj4+Pj4+ Pgo+Pj4+Pj4+IEJlc3QsCj4+Pj4+Pj4KPj4+Pj4+PiBBbGVrc2V5Cj4+Pj4+Pj4KPj4+Pj4+PiBP biAxMS84LzE2IDU6MDUgUE0sIFBhYmxvIEdhYnJpZWwgR2FsbGFyZG8gd3JvdGU6Cj4+Pj4+Pj4+ IEhlbGxvIHRoZXJlIQo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBJIHdhbnQgdG8gdXNlIHhtbHNlYyB0byBz aWduIFhNTHMgd2l0aCBhIHNtYXJ0IGNhcmQuIEknbSB1c2luZyBsaWJwMTEKPj4+Pj4+Pj4gYW5k IHdoZW4gSSBjYWxsIHhtbFNlY0RTaWdDdHhTaWduKCksIGl0IHJldHVybnMgLTEgYW5kIEknbSBn ZXR0aW5nCj4+Pj4+Pj4+IHRoaXMgZXJyb3I6Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+Cj4+Pj4+Pj4gZnVu Yz14bWxTZWNEU2lnQ3R4UHJvY2Vzc0tleUluZm9Ob2RlOmZpbGU9eG1sZHNpZy5jOmxpbmU9ODcx Om9iaj11bmtub3duOnN1Ymo9dW5rbm93bjplcnJvcj00NTprZXkKPj4+Pj4+Pj4gaXMgbm90IGZv dW5kOgo+Pj4+Pj4+Pgo+Pj4+Pj4+IGZ1bmM9eG1sU2VjRFNpZ0N0eFByb2Nlc3NTaWduYXR1cmVO b2RlOmZpbGU9eG1sZHNpZy5jOmxpbmU9NTY1Om9iaj11bmtub3duOnN1Ymo9eG1sU2VjRFNpZ0N0 eFByb2Nlc3NLZXlJbmZvTm9kZTplcnJvcj0xOnhtbHNlYwo+Pj4+Pj4+PiBsaWJyYXJ5IGZ1bmN0 aW9uIGZhaWxlZDoKPj4+Pj4+Pj4KPj4+Pj4+PiBmdW5jPXhtbFNlY0RTaWdDdHhTaWduOmZpbGU9 eG1sZHNpZy5jOmxpbmU9MzAzOm9iaj11bmtub3duOnN1Ymo9eG1sU2VjRFNpZ0N0eFNpZ25hdHVy ZVByb2Nlc3NOb2RlOmVycm9yPTE6eG1sc2VjCj4+Pj4+Pj4+IGxpYnJhcnkgZnVuY3Rpb24gZmFp bGVkOgo+Pj4+Pj4+PiBFcnJvcjogc2lnbmF0dXJlIGZhaWxlZAo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBJ IHVzZSB4bWxTZWNPcGVuU1NMRXZwS2V5QWRvcHQoKSB0byBzZXQgdGhlIEVWUF9QS0VZIGZyb20g bXkgc21hcnQKPj4+Pj4+Pj4gY2FyZCBidXQgSSdtIHN1cmUgdGhhdCBJIGFtIG1pc3Npbmcgc29t ZXRoaW5nLgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBDb3VsZCBzb21lb25lIHBsZWFzZSBoZWxwIG1lIHRv IHNlZSB3aGF0IGVsc2UgSSBzaG91bGQgYmUgZG9pbmcgdG8KPj4+Pj4+Pj4gbWFrZSB0aGlzIHdv cms/IEkndmUgY2hlY2tlZCB0aGlzIG1haWxpbmcgbGlzdCBhbmQgc29tZW9uZSBpbiAyMDA4Cj4+ Pj4+Pj4gaGFkCj4+Pj4+Pj4+IHRoZSBzYW1lIHByb2JsZW0gYnV0IGhlIGRpZG4ndCBtZW50aW9u IGhvdyB0byBzb2x2ZSBpdC4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gSGVyZSBhcmUgdGhlIHBhcnRzIEkn dmUgbW9kaWZpZWQgZnJvbSBzaWduMy5jLiBDb21wbGV0ZSBzb3VyY2UgaXMgb24KPj4+Pj4+Pj4K Pj4+Pj4+PiBodHRwczovL2dpdGh1Yi5jb20vcGFibG9nYWxsYXJkby9saXZyZW5mZS9ibG9iL2Rl dmVsb3BtZW50L3NyYy9zaWduLmM6Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+IHN0YXRpYyB4bWxTZWNLZXlQ dHIgbG9hZF9rZXkoY29uc3QgY2hhciAqcHdkKSB7Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+ICAgICB4bWxT ZWNLZXlQdHIga2V5ID0gTlVMTDsKPj4+Pj4+Pj4gICAgIHhtbFNlY0tleURhdGFQdHIgZGF0YTsK Pj4+Pj4+Pj4gICAgIEVWUF9QS0VZICpwS2V5ID0gTlVMTDsKPj4+Pj4+Pj4gICAgIGludCByZXQ7 Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+ICAgICBwS2V5ID0gZ2V0X3ByaXZhdGVfa2V5KHB3ZCk7Cj4+Pj4+ Pj4+ICAgICBpZihwS2V5ID09IE5VTEwpCj4+Pj4+Pj4+ICAgICAgICAgcmV0dXJuIE5VTEw7Cj4+ Pj4+Pj4+Cj4+Pj4+Pj4+ICAgICBkYXRhID0geG1sU2VjT3BlblNTTEV2cEtleUFkb3B0KHBLZXkp Owo+Pj4+Pj4+PiAgICAgaWYoZGF0YSA9PSBOVUxMKSB7Cj4+Pj4+Pj4+ICAgICAgICAgRVZQX1BL RVlfZnJlZShwS2V5KTsKPj4+Pj4+Pj4gICAgICAgICByZXR1cm4gTlVMTDsKPj4+Pj4+Pj4gICAg IH0KPj4+Pj4+Pj4KPj4+Pj4+Pj4gICAgIGtleSA9IHhtbFNlY0tleUNyZWF0ZSgpOwo+Pj4+Pj4+ PiAgICAgaWYoa2V5ID09IE5VTEwpIHsKPj4+Pj4+Pj4gICAgICAgICB4bWxTZWNLZXlEYXRhRGVz dHJveShkYXRhKTsKPj4+Pj4+Pj4gICAgICAgICByZXR1cm4gTlVMTDsKPj4+Pj4+Pj4gICAgIH0K Pj4+Pj4+Pj4KPj4+Pj4+Pj4gICAgIHJldCA9IHhtbFNlY0tleVNldFZhbHVlKGtleSwgZGF0YSk7 Cj4+Pj4+Pj4+ICAgICBpZihyZXQgPCAwKSB7Cj4+Pj4+Pj4+ICAgICAgICAgeG1sU2VjS2V5RGVz dHJveShrZXkpOwo+Pj4+Pj4+PiAgICAgICAgIHhtbFNlY0tleURhdGFEZXN0cm95KGRhdGEpOwo+ Pj4+Pj4+PiAgICAgICAgIHJldHVybiBOVUxMOwo+Pj4+Pj4+PiAgICAgfQo+Pj4+Pj4+PiAgICAg cmV0dXJuIGtleTsKPj4+Pj4+Pj4gfQo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBpbnQgc2lnbl9maWxlKGNv bnN0IGNoYXIqIHhtbF9maWxlLCBjaGFyICpwYXNzd29yZCkgewo+Pj4+Pj4+Pgo+Pj4+Pj4+PiAu Li4uLgo+Pj4+Pj4+Pgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiAgICAgLyogbG9hZCBwcml2YXRlIGtleSAq Lwo+Pj4+Pj4+PiAgICAgZHNpZ0N0eC0+c2lnbktleSA9IGxvYWRfa2V5KHBhc3N3b3JkKTsKPj4+ Pj4+Pj4gICAgIGlmKGRzaWdDdHgtPnNpZ25LZXkgPT0gTlVMTCkgewo+Pj4+Pj4+PiAgICAgICAg IGZwcmludGYoc3RkZXJyLCJFcnJvcjogZmFpbGVkIHRvIGxvYWQgcHJpdmF0ZSBrZXkgZnJvbQo+ Pj4+Pj4+IHNtYXJ0Y2FyZFxuIik7Cj4+Pj4+Pj4+ICAgICBnb3RvIGRvbmU7Cj4+Pj4+Pj4+ICAg ICB9Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+ICAgICAvKiBsb2FkIGNlcnRpZmljYXRlIGFuZCBhZGQgdG8g dGhlIGtleQo+Pj4+Pj4+PiAgICAgaWYoeG1sU2VjQ3J5cHRvQXBwS2V5Q2VydExvYWQoZHNpZ0N0 eC0+c2lnbktleSwgY2VydF9maWxlLAo+Pj4+Pj4+PiB4bWxTZWNLZXlEYXRhRm9ybWF0UGVtKSA8 IDApIHsKPj4+Pj4+Pj4gICAgICAgICBmcHJpbnRmKHN0ZGVyciwiRXJyb3I6IGZhaWxlZCB0byBs b2FkIHBlbSBjZXJ0aWZpY2F0ZQo+Pj4+Pj4+PiBcIiVzXCJcbiIsIGNlcnRfZmlsZSk7Cj4+Pj4+ Pj4+ICAgICAgICAgZ290byBkb25lOwo+Pj4+Pj4+PiAgICAgfSovCj4+Pj4+Pj4+Cj4+Pj4+Pj4+ ICAgICAvKiBzZXQga2V5IG5hbWUgdG8gdGhlIGZpbGUgbmFtZSwgdGhpcyBpcyBqdXN0IGFuIGV4 YW1wbGUhCj4+Pj4+Pj4+ICAgICBpZih4bWxTZWNLZXlTZXROYW1lKGRzaWdDdHgtPnNpZ25LZXks IGtleV9maWxlKSA8IDApIHsKPj4+Pj4+Pj4gICAgICAgICBmcHJpbnRmKHN0ZGVyciwiRXJyb3I6 IGZhaWxlZCB0byBzZXQga2V5IG5hbWUgZm9yIGtleSBmcm9tCj4+Pj4+Pj4+IFwiJXNcIlxuIiwg a2V5X2ZpbGUpOwo+Pj4+Pj4+PiAgICAgICAgIGdvdG8gZG9uZTsKPj4+Pj4+Pj4gICAgIH0gKi8K Pj4+Pj4+Pj4KPj4+Pj4+Pj4gICAgIC8qIHNpZ24gdGhlIHRlbXBsYXRlICovCj4+Pj4+Pj4+ICAg ICBpZih4bWxTZWNEU2lnQ3R4U2lnbihkc2lnQ3R4LCBzaWduTm9kZSkgPCAwKSB7Cj4+Pj4+Pj4+ ICAgICAgICAgZnByaW50ZihzdGRlcnIsIkVycm9yOiBzaWduYXR1cmUgZmFpbGVkXG4iKTsKPj4+ Pj4+Pj4gICAgICAgICBnb3RvIGRvbmU7Cj4+Pj4+Pj4+ICAgICB9Cj4+Pj4+Pj4+Cj4+Pj4+Pj4+ ICAgICAuLi4uCj4+Pj4+Pj4+IH0KPj4+Pj4+Pj4KPj4+Pj4+Pj4KPj4+Pj4+Pj4KPj4+Pj4+Pj4g VGhhbmsgeW91IQo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBQYWJsbyBHLiBHYWxsYXJkbwo+Pj4+Pj4+PiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Pj4+Pj4+PiB4 bWxzZWMgbWFpbGluZyBsaXN0Cj4+Pj4+Pj4+IHhtbHNlY0BhbGVrc2V5LmNvbQo+Pj4+Pj4+PiBo dHRwOi8vd3d3LmFsZWtzZXkuY29tL21haWxtYW4vbGlzdGluZm8veG1sc2VjCj4+Pj4+Pj4+Cj4+ Pj4+Pgo+Pj4+Pj4gLS0KPj4+Pj4+IFNlbnQgZnJvbSBteSBBbmRyb2lkIGRldmljZSB3aXRoIEst OSBNYWlsLiBQbGVhc2UgZXhjdXNlIG15IGJyZXZpdHkuCj4+Pj4+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+Pj4+IHhtbHNlYyBtYWlsaW5nIGxpc3QK Pj4+Pj4geG1sc2VjQGFsZWtzZXkuY29tCj4+Pj4+IGh0dHA6Ly93d3cuYWxla3NleS5jb20vbWFp bG1hbi9saXN0aW5mby94bWxzZWMKPj4+Pj4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KeG1sc2VjIG1haWxpbmcgbGlzdAp4bWxzZWNAYWxla3NleS5jb20K aHR0cDovL3d3dy5hbGVrc2V5LmNvbS9tYWlsbWFuL2xpc3RpbmZvL3htbHNlYwo=