Re: IAIK PKCS#11 Wrapper 1.4 with NSS 3.47.1

Kevin Jacobs <[email protected]> Fri, 31 Jan 2020 03:06:39 -0800 (PST)
Newsgroups gmane.comp.mozilla.security
Message-ID <[email protected]>
T24gV2VkbmVzZGF5LCBKYW51YXJ5IDI5LCAyMDIwIGF0IDEyOjAxOjE5IEFNIFVUQysxLCBVc2hh
IE5heWFrIHdyb3RlOgo+IEhlbGxvLAo+IAo+IEFkZGluZyBmZXcgbW9yZSBkZXRhaWxzIHRvIHRo
aXMgaXNzdWUgd2UgYXJlIGZhY2luZyBpbiByZWdhcmRzIHRvIE5TUy4gCj4gUGxlYXNlIG5vdGU6
IHRoaXMgd2FzIG5vdCBhbiBpc3N1ZSB3aXRoIE5TUzMuNDIuMS4gV2UgYXJlIGxvb2tpbmcgdG8g
dXBncmFkZSB0byBOU1MzLjQ3LjEgYW5kIGhhdmUgbm90aWNlZCBpdCBmcm9tIHRoZW4gb24uIFdl
IGFwcHJvYWNoZWQgSUFJSyBhc3dlbGwgaW4gcmVnYXJkcyB0byB0aGlzIGFmdGVyIGRlYnVnZ2lu
ZyB0aGVpciBwa2NzIzExd3JhcHBlciBtb2R1bGUuIFBsZWFzZSBzZWUgdGhlaXIgcmVzcG9uc2Ug
YXQgdGhlIGJlbG93IG9mIHRoZSBwb3N0Lgo+IAo+IFdlIGNyZWF0ZWQgc2FtcGxlIEphdmEgY2xp
ZW50IHRoYXQgdXNlcyBJQUlLIFBLQ1MjMTEgV3JhcHBlciAxLjQgdG8gY29ubmVjdCB0byBOU1MK
PiAKPiAJCU1vZHVsZSBwa2NzMTFNb2R1bGUgPSBNb2R1bGUuZ2V0SW5zdGFuY2UoIGxpYnJhcnkg
KTsgLy8gbGlicmFyeSAtPiBzb2Z0b2tuMy5kbGwKPiAJCS4uLi4uCj4gCQlwa2NzMTFNb2R1bGUu
aW5pdGlhbGl6ZShhcmd1bWVudHMpOyAvLyBhcmd1bWVudHMgLT4gbWFwcyB0byBpbml0aWFsaXpl
QXJndW1lbnRzCj4gCQkuLi4uCj4gCQlzZXNzaW9uID0gdG9rZW4ub3BlblNlc3Npb24oVG9rZW4u
U2Vzc2lvblR5cGUuU0VSSUFMX1NFU1NJT04sIFRva2VuLlNlc3Npb25SZWFkV3JpdGVCZWhhdmlv
ci5SV19TRVNTSU9OLCBudWxsLCBudWxsKTsKPiAJCS4uLgo+IAkJc2Vzc2lvbi5sb2dpbihTZXNz
aW9uLlVzZXJUeXBlLlVTRVIsIHBpbi50b0NoYXJBcnJheSgpKTsgLy8gbG9naW4gaXMgZmluZQo+
IAkJLi4uCj4gCQkgICAgIAo+ICAgICAgICAgLy8gc2V0IHRoZSBnZW5lcmFsIGF0dHJpYnV0ZXMg
Zm9yIHRoZSBwdWJsaWMga2V5Cj4gICAgICAgICByc2FQdWJsaWNLZXlUZW1wbGF0ZS5nZXRUb2tl
bigpLnNldEJvb2xlYW5WYWx1ZShCb29sZWFuLlRSVUUpOyAgLy8vIHRoaXMgaXMgc291cmNlIG9m
IHByb2JsZW0gLiBJZiBzZXQgdG8gRmFsc2UgKCBtZWFuaW5nIHNlc3Npb24gb2JqZWN0KSwgY2xp
ZW50IHdvcmtzIGZpbmUuCj4gCQkuLi4KPiAKPiAgICAgICAgIC8vIHNldCB0aGUgZ2VuZXJhbCBh
dHRyaWJ1dGVzIGZvciB0aGUgcHJpdmF0ZSBrZXkKPiAgICAgICAgIHJzYVByaXZhdGVLZXlUZW1w
bGF0ZS5nZXRUb2tlbigpLnNldEJvb2xlYW5WYWx1ZShCb29sZWFuLlRSVUUpOyAgICAvLy8gdGhp
cyBpcyBzb3VyY2Ugb2YgcHJvYmxlbSAuIElmIHNldCB0byBGYWxzZSAoIG1lYW5pbmcgc2Vzc2lv
biBvYmplY3QpLCBjbGllbnQgd29ya3MgZmluZS4gIAo+ICAgICAgICAgLi4uLgo+IAo+ICAgICAg
ICAgS2V5UGFpciBnZW5lcmF0ZWRLZXlQYWlyID0gbnVsbDsKPiAgICAgICAgIHRyeQo+ICAgICAg
ICAgewo+ICAgICAgICAgICAgIGdlbmVyYXRlZEtleVBhaXIgPSBzZXNzaW9uLmdlbmVyYXRlS2V5
UGFpcihrZXlQYWlyR2VuZXJhdGlvbk1lY2hhbmlzbSxyc2FQdWJsaWNLZXlUZW1wbGF0ZSwgcnNh
UHJpdmF0ZUtleVRlbXBsYXRlKTsKPiAgICAgICAgIH0KPiAgICAgICAgIGNhdGNoIChUb2tlbkV4
Y2VwdGlvbiBlKQo+ICAgICAgICAgewo+ICAgICAgICAgICAgIFN0cmluZyBtc2cgPSAiRmFpbGVk
IHRvIGdlbmVyYXRlIFJTQSBrZXkgcGFpciBvbiB0b2tlbjogIiArIGUuZ2V0TWVzc2FnZSgpOwo+
ICAgICAgICAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oIG1zZywgZSApOwo+ICAgICAgICAgfQo+
IAkJLi4uCj4gCQkKPiBJbnB1dCBmaWxlIGZvciB0aGUgc2FtcGxlIGNsaWVudCA6Cj4gCQlsaWJy
YXJ5PXNvZnRva24zLmRsbAo+IAo+IAkJaW5pdGlhbGl6ZUFyZ3VtZW50cz1jb25maWdEaXI9J3Nx
bDpEOi93b3JrZGlyL2RldnVuaXQvS01EZW1vL05TUy9kYicgY2VydFByZWZpeD0nJyBrZXlQcmVm
aXg9Jycgc2VjbW9kPScnIGZsYWdzPSdyZWFkV3JpdGUnIHVwZGF0ZWRpcj0nJyB1cGRhdGVDZXJ0
UHJlZml4PScnIHVwZGF0ZUtleVByZWZpeD0nJyB1cGRhdGVUb2tlbkRlc2NyaXB0aW9uPScnCj4g
Cj4gCQlwaW49WFhYWFgKPiAKPiAJCXNsb3Q9MQo+IAo+IAkJbGliUGF0aD1EOi93b3JrZGlyL2Rl
dnVuaXQvS01EZW1vL05TUy0zLjQ5L2xpYgo+IAo+IAkJbGliTGlzdD1saWJuc3ByNC5kbGwsbGli
cGxjNC5kbGwsbGlicGxkczQuZGxsLHNxbGl0ZTMuZGxsLG5zc3V0aWwzLmRsbCxzb2Z0b2tuMy5k
bGwKPiAJCQo+IAo+IFN0ZXBzIEkndmUgYmVlbiBmb2xsb3dpbmcgOjoKPiAKPiAJCTEpIEkgY2xl
YW51cCAgTlNTIGRiIGRpcmVjdG9yeS4gCj4gCQkyKSBQcmlvciB0byBleGVjdXRpbmcgdGhlIGNs
aWVudCBjb2RlLCBJIHJlY3JlYXRlIHRoZSBOU1MgZGIuCj4gCQkgICBhKSBDcmVhdGUgTlNTIGRi
ICAtLS0+IG1vZHV0aWwgLWNyZWF0ZSAtZGJkaXIgc3FsOkQ6XHdvcmtkaXJcZGV2dW5pdFxLTURl
bW9cTlNTXGRiCj4gCQkgICBiKSBQcm92aWRlIHBhc3N3b3JkIC0tLT4gIG1vZHV0aWwgLWRiZGly
IHNxbDpEOlx3b3JrZGlyXGRldnVuaXRcS01EZW1vXE5TU1xkYiAtY2hhbmdlcHcgIk5TUyBDZXJ0
aWZpY2F0ZSBEQiIgIAo+IAkJICAgYykgQ2hlY2sgY29udGVudCBvZiB0aGUgZGIgIC0tPiBjZXJ0
dXRpbCAtSyAtZCBzcWw6RDpcd29ya2RpclxkZXZ1bml0XEtNRGVtb1xOU1NcZGIgICggZGlzcGxh
eXMgbm8ga2V5cyApCj4gCQkzKSBSdW4gdGhlIFNhbXBsZSBjbGllbnQgY29kZS4gU2F3IGV4Y2Vw
dGlvbgo+IAkJCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gCQkJUEtDUyMxMSBzZXNzaW9uIGxv
Z2luIHN1Y2Nlc3NmdWwKPiAJCQkjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwo+IAkJCUdlbmVyYXRp
bmcgbmV3IDIwNDggYml0IFJTQSBrZXktcGFpci4uLgo+IAkJCWphdmEubGFuZy5FeGNlcHRpb246
IEZhaWxlZCB0byBnZW5lcmF0ZSBSU0Ega2V5IHBhaXIgb24gdG9rZW46IENLUl9HRU5FUkFMX0VS
Uk9SCj4gCQkJCQlhdCBkZW1vLnBrY3MucGtjczExLkdlbmVyYXRlS2V5UGFpci5tYWluKEdlbmVy
YXRlS2V5UGFpci5qYXZhOjExMCkKPiAJCQlDYXVzZWQgYnk6IGlhaWsucGtjcy5wa2NzMTEud3Jh
cHBlci5QS0NTMTFFeGNlcHRpb246IENLUl9HRU5FUkFMX0VSUk9SCj4gCQkJCQlhdCBpYWlrLnBr
Y3MucGtjczExLndyYXBwZXIuUEtDUzExSW1wbGVtZW50YXRpb24uQ19HZXRBdHRyaWJ1dGVWYWx1
ZShOYXRpdmUgTWV0aG9kKQo+IAkJCQkJYXQgaWFpay5wa2NzLnBrY3MxMS5vYmplY3RzLk9iamVj
dC5nZXRBdHRyaWJ1dGVWYWx1ZShPYmplY3QuamF2YTo3MTYpCj4gCQkJCQlhdCBpYWlrLnBrY3Mu
cGtjczExLm9iamVjdHMuS2V5LnJlYWRBdHRyaWJ1dGVzKEtleS5qYXZhOjYyMikKPiAJCQkJCWF0
IGlhaWsucGtjcy5wa2NzMTEub2JqZWN0cy5QdWJsaWNLZXkucmVhZEF0dHJpYnV0ZXMoUHVibGlj
S2V5LmphdmE6Mzk4KQo+IAkJCQkJYXQgaWFpay5wa2NzLnBrY3MxMS5vYmplY3RzLlJTQVB1Ymxp
Y0tleS5yZWFkQXR0cmlidXRlcyhSU0FQdWJsaWNLZXkuamF2YToyNDIpCj4gCQkJCQlhdCBpYWlr
LnBrY3MucGtjczExLm9iamVjdHMuT2JqZWN0Ljxpbml0PihPYmplY3QuamF2YToyMjMpCj4gCQkJ
CQlhdCBpYWlrLnBrY3MucGtjczExLm9iamVjdHMuU3RvcmFnZS48aW5pdD4oU3RvcmFnZS5qYXZh
OjEwNSkKPiAJCQkJCWF0IGlhaWsucGtjcy5wa2NzMTEub2JqZWN0cy5LZXkuPGluaXQ+KEtleS5q
YXZhOjMyMSkKPiAJCQkJCWF0IGlhaWsucGtjcy5wa2NzMTEub2JqZWN0cy5QdWJsaWNLZXkuPGlu
aXQ+KFB1YmxpY0tleS5qYXZhOjExOSkKPiAJCQkJCWF0IGlhaWsucGtjcy5wa2NzMTEub2JqZWN0
cy5SU0FQdWJsaWNLZXkuPGluaXQ+KFJTQVB1YmxpY0tleS5qYXZhOjk2KQo+IAkJCQkJYXQgaWFp
ay5wa2NzLnBrY3MxMS5vYmplY3RzLlJTQVB1YmxpY0tleS5nZXRJbnN0YW5jZShSU0FQdWJsaWNL
ZXkuamF2YToxMTgpCj4gCQkJCQlhdCBpYWlrLnBrY3MucGtjczExLm9iamVjdHMuUHVibGljS2V5
LmdldEluc3RhbmNlKFB1YmxpY0tleS5qYXZhOjE1NikKPiAJCQkJCWF0IGlhaWsucGtjcy5wa2Nz
MTEub2JqZWN0cy5PYmplY3QuZ2V0SW5zdGFuY2UoT2JqZWN0LmphdmE6MjYyKQo+IAkJCQkJYXQg
aWFpay5wa2NzLnBrY3MxMS5TZXNzaW9uLmdlbmVyYXRlS2V5UGFpcihTZXNzaW9uLmphdmE6MTI2
MCkKPiAJCQkJCWF0IGRlbW8ucGtjcy5wa2NzMTEuR2VuZXJhdGVLZXlQYWlyLm1haW4oR2VuZXJh
dGVLZXlQYWlyLmphdmE6MTA1KQo+IAkJCSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCj4gCQkJQ2xv
c2UgU2Vzc2lvbi4uLgo+IAkJCVBLQ1MjMTEgc2Vzc2lvbiBsb2dvdXQgc3VjY2Vzc2Z1bAo+IAo+
IAkJNCkgQ2hlY2sgdGhlIE5TUyBrZXkgZGIgc3RvcmUgZm9yIHRoZSBjb250ZW50czoKPiAJCQlE
Olx3b3JrZGlyXGRldnVuaXRcS01EZW1vPmNlcnR1dGlsIC1LIC1kIHNxbDpEOlx3b3JrZGlyXGRl
dnVuaXRcS01EZW1vXE5TU1xkYgo+IAkJCWNlcnR1dGlsOiBDaGVja2luZyB0b2tlbiAiTlNTIENl
cnRpZmljYXRlIERCIiBpbiBzbG90ICJOU1MgVXNlciBQcml2YXRlIEtleSBhbmQgQ2VydGlmaWNh
dGUgU2VydmljZXMiCj4gCQkJRW50ZXIgUGFzc3dvcmQgb3IgUGluIGZvciAiTlNTIENlcnRpZmlj
YXRlIERCIjoKPiAJCQk8IDA+IHJzYSAgICAgICI2MGIwZGY1Ny1kZjgyLTRhNzMtYjFjOS03ZmMx
NzIwNGUxZDA7MTU3IiBLTVJvb3RDQQo+IAo+IAkJTk9URTogSSBzZWUgdGhlIGV4Y2VwdGlvbiBp
biB0aGUgY29uc29sZSBhcyB3ZWxsIGFzIG5vdGljZSB0aGF0IE5TUyBzdG9yZSBoYXZpbmcgdGhl
IGtleS4gCj4gCj4gCj4gRGVidWdnZWQgSUFJSzoKPiDigKIJRW5hYmxlZCBkZWJ1Z2dpbmcgb2Yg
SUFJSyBQS0NTIzExIFdyYXBwZXIgbW9kdWxlLiAKPiAKPiAwMS8yMy8yMCAxOTozODoxOCAgRVJS
T1I6IGdvdCA1IGluc3RlYWQgb2YgQ0tSX09LLCBnb2luZyB0byByYWlzZSBhbiBleGNlcHRpb24g
KGluIEphdmFfaWFpa19wa2NzX3BrY3MxMV93cmFwcGVyX1BLQ1MxMUltcGxlbWVudGF0aW9uX0Nf
MUdldEF0dHJpYnV0ZVZhbHVlKQo+IAo+IOKAoglJIGRlY2lkZWQgdG8gYnVpbGQvZGVidWcgdGhl
IG5hdGl2ZSBwa2NzMTFXcmFwcGVyIGNvZGUgd2l0aCB0aGUgSmF2YSBzYW1wbGUgY2xpZW50Lgo+
IAo+IEpOSUVYUE9SVCB2b2lkIEpOSUNBTEwgSmF2YV9pYWlrX3BrY3NfcGtjczExX3dyYXBwZXJf
UEtDUzExSW1wbGVtZW50YXRpb25fQ18xR2V0QXR0cmlidXRlVmFsdWUKPiAgIChKTklFbnYgKmVu
diwgam9iamVjdCBvYmosIGpsb25nIGpTZXNzaW9uSGFuZGxlLCBqbG9uZyBqT2JqZWN0SGFuZGxl
LCBqb2JqZWN0QXJyYXkgalRlbXBsYXRlLCBqYm9vbGVhbiBqVXNlVXRmOCkKPiB7Cj4gLi4uLi4K
PiAgICAgcnYgPSAoKmNrcEZ1bmN0aW9ucy0+Q19HZXRBdHRyaWJ1dGVWYWx1ZSkoY2tTZXNzaW9u
SGFuZGxlLCBja09iamVjdEhhbmRsZSwgY2twQXR0cmlidXRlcywgY2tBdHRyaWJ1dGVzTGVuZ3Ro
KTsgCj4gLi4uCj4gCj4gfQo+IFZhbHVlcyBpbiB0aGUgdmFyaWFibGUgd2hlbiB0aGlzIGZhaWx1
cmUgb2NjdXJyZWQgLi4KPiAKPiBydiA9IDUKPiAKPiArIGNrcEF0dHJpYnV0ZXMgMHgwMDAwMDAw
MDE3ZTdjYjAwIHt0eXBlPTEwNzM3NDIzNTMgcFZhbHVlPTB4MDAwMDAwMDAxN2U3Njk4MCB1bFZh
bHVlTGVuPTI0MCB9IENLX0FUVFJJQlVURSAqCj4gY2tPYmplY3RIYW5kbGUgMjM1NzE1NjcyOSB1
bnNpZ25lZCBsb25nCj4gKyBja3BGdW5jdGlvbnMgc29mdG9rbjMuZGxsITB4MDAwMDdmZmVlOWIw
YzYyMCAobG9hZCBzeW1ib2xzIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uKSB7dmVyc2lvbj17
bWFqb3I9MSAnXHgxJyBtaW5vcj0uLi59IC4uLn0gQ0tfRlVOQ1RJT05fTElTVCAqCj4gY2tTZXNz
aW9uSGFuZGxlIDE2Nzc3MjE3IHVuc2lnbmVkIGxvbmcKPiBja0F0dHJpYnV0ZXNMZW5ndGggMjMg
dW5zaWduZWQgbG9uZwo+IAo+IAo+IOKAoglUaGUgYWJvdmUgIGhpZ2hsaWdodGVkIGNvZGUgZG9l
cyBtYWtlIGEgY2FsbCB0byBOU1MgKCBzb2Z0dG9rbjMgKSBhbmQgcmVjZWl2ZXMgNSAoIHdoaWNo
IHN0YW5kcyBmb3IgQ0tSX0dFTkVSQUxfRVJST1IgICkgZm9yIHRoZSBja3BBdHRyaWJ1dGVzIHR5
cGU9MTA3Mzc0MjM1My4gCj4gCj4gSSBhcHByb2FjaGVkIElBSUssIGhlcmXigJlzIHRoZSByZXNw
b25zZSB0aGV5IHByb3ZpZGVkIOKApgo+IAo+IAo+IE9uIEZyaSwgSmFuIDI0LCAyMDIwIGF0IDM6
MTIgQU0gU0lDL0lBSUsgPFhYWFg+IHdyb3RlOgo+IFRoZSBja3BBdHRyaWJ1dGVzIHRoYXQgeW91
IGhhdmUgdmlld2VkIGluIHRoZSBkZWJ1Z2dlciBpcyBhY3R1YWxseSBhbiBhcnJheSB3aXRoIG11
bHRpcGxlIGNrQXR0cmlidXRlcy4gU3BlY2lmaWNhbGx5IDEwNzM3NDIzNTMgaXMgdGhlIENLQV9X
UkFQX1RFTVBMQVRFIGF0dHJpYnV0ZS4KPiBJIHRyYWNlZCB0aGUgZXJyb3IgZG93biB0byB0aGlz
IE5TUyBnaXQgY29tbWl0IFsxXS4gVGhlcmUgaXMgc2VlbWluZ2x5IGEgcHJvYmxlbSB3aGVuIHF1
ZXJ5aW5nIEFycmF5QXR0cmlidXRlcy4gSXQgcHJvZHVjZXMgYW4gc3FsaXRlX2Vycm9yIGluIHRo
ZSBOU1MgY29kZS4KPiBIb3dldmVyLCBJJ20gcHJldHR5IHN1cmUgdGhhdCB0aGlzIGVycm9yIGlz
IGFuIGFjdHVhbCBOU1MgZXJyb3IgYW5kIGNhbm5vdCBiZSBmaXhlZCBmcm9tIG91ciBzaWRlLiBJ
IHdvdWxkIHN1Z2dlc3QgdG8gZmlsZSBhIGJ1ZyByZXBvcnQuCj4gWzFdOiBodHRwczovL2dpdGh1
Yi5jb20vbnNzLWRldi9uc3MvY29tbWl0L2Y1NzJhMTVlNDVjNWM0YTI2YTBhZGE3ZWUwMDg4NDNh
ZDE5ZWMyMDIKPiAKPiAKPiBQbGVhc2UgbGV0IHVzIGtub3cgLi4KPiAKPiBUaGFua3MuLgoKCkhp
IFVzaGEsCgpUaGFua3MgZm9yIHRoZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiBVbmZvcnR1bmF0
ZWx5LCB3ZSd2ZSBub3QgYmVlbiBhYmxlIHRvIHJlcHJvZHVjZSB0aGlzLiBNb3JlIGRldGFpbHMg
KG1pbmltYWxseSwgYWxsIGFyZ3VtZW50cyBwYXNzZWQgaW4gZWFjaCBOU1MgZnVuY3Rpb24gY2Fs
bCkgd291bGQgYmUgaGVscGZ1bC4gQSBDL0MrKyByZXByb2R1Y2VyIHdvdWxkIGJlIGlkZWFsLgoK
VGhhbmtzLApLZXZpbgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXwpkZXYtc2VjdXJpdHkgbWFpbGluZyBsaXN0CmRldi1zZWN1cml0eUBsaXN0cy5tb3ppbGxh
Lm9yZwpodHRwczovL2xpc3RzLm1vemlsbGEub3JnL2xpc3RpbmZvL2Rldi1zZWN1cml0eQo=