Support for the Montenegrin eID

dzeri96 via Opensc-devel <[email protected]> Tue, 22 Apr 2025 12:44:15 +0000
Newsgroups gmane.comp.encryption.opensc.devel
Message-ID <7OQr9mkal5ySpx5bNbxnwXFnLT5QAPGDGck7MG82BYisaIBIIVVg8RlzTPfs6njh-IiUcZ0n7wbdiRSYspWbXeeLYaHgE-rhtGfAMh91XpE=@proton.me>
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--===============6306394807694998931==
Content-Type: multipart/signed; protocol="application/pgp-signature"; micalg=pgp-sha512; boundary="------db2a8ea60a755c995f33d44a4321be2944d4a53e7fa2b7e5eeaffd77aaae2d30"; charset=utf-8

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------db2a8ea60a755c995f33d44a4321be2944d4a53e7fa2b7e5eeaffd77aaae2d30
Content-Type: multipart/mixed;boundary=---------------------1c4acb923e6b4be04504d7f7fc61dcc5

-----------------------1c4acb923e6b4be04504d7f7fc61dcc5
Content-Type: multipart/alternative;boundary=---------------------f0bbce1dd1c187282bdb029169315696

-----------------------f0bbce1dd1c187282bdb029169315696
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;charset=utf-8

Hello everyone,

I'm trying to kickstart support for the new Montenegrin eID, or at least f=
igure out how it works. I've sent multiple requests for technical specs to=
 the government, but unless I take them to court, I doubt I'll get any use=
ful information. Therefore I'll just write down what I manage to figure ou=
t on my own, and hopefully you can provide further insight. One thing abou=
t a country as small as Montenegro, is that there is a very high probabili=
ty we didn't implement anything custom, as it's not financially viable.

Here's what I have so far:

-   ATR: 3b:dc:96:ff:81:91:fe:1f:c3:80:73:c8:21:13:66:05:03:63:51:00:02:de=
. It doesn't seem to comply with the ATR scheme in the IAS ECC specificati=
on, even though the government says the card complies with all EU ID regul=
ations (unclear which ones).
-   EF.ATR raw data: 80004301B946040400ECC24703940180 4F0BF049617345636352=
6F6F74E01002 020104020200E6020200E6020200E678 0806062B8122F8780282029000
-   EF.DIR raw data: 61374F0EE828BD080FD25047656E6572 6963500743686970446F=
63731C300404 025031A004040250324F0EE828BD080FD2504543432D654944610F4F07A00=
000 0247100150044943414F61184F0A4D4F 4E54454E4547524F500A4E6174696F6E 616C=
4944
    =


-   By deciphering the EF.DIR data, we can discover 4 applications:

-   E828BD080FD25047656E65726963 - ECC Generic PKI / ChipDocs Applet
-   E828BD080FD2504543432D654944 - ECC eID
-   A0000002471001 - ICAO
-   4D4F4E54454E4547524F - Spells out MONTENEGRO in ASCII, label is "Natio=
nalID". No idea what this could be... maybe something related to healthcar=
e?

-   I managed to use npa-tool and read the MRZ stored on the card using CA=
N-based PACE, but all other functions of the tool don't work, not even PIN=
-based PACE. I'm just using it as an APDU debugger with PACE support.
-   The official middleware supplied by the government is Athena IDProtect=
.
-   The activation software is available here. It's a java program develop=
ed by M=C3=BChlbauer. I decompiled it and saw that it's accessing the ECC =
eID application. I managed to extract some APDUs and get the activation st=
atus of the card (PIN change is required on first use).
-   iasecc-tool and pkcs15-tool say "Card is invalid or cannot be handled"=
 regardless of what I try.

I've skimmed over hundreds of pages of standards, including the ISO-7816 p=
arts, the NXP ChipDoc v4 spec, the BSI TR-03110, the IAS ECC spec, but I c=
an barely find any concrete info on these applications. Someone must know =
how to access them because there are vendor-provided tools to do so.

My goals are:

1.  Get general knowledge about the card and build some PoC APDU chains to=
 read/set data.
2.  Get the birthdate of the person via PIN-based auth and verify the auth=
enticity of the data.
3.  Get the openSC suite of tools to work with the card.
4.  Replace the closed-source middleware provided by the government.


I would really appreciate any help here. Thanks!
-----------------------f0bbce1dd1c187282bdb029169315696
Content-Type: multipart/related;boundary=---------------------191688e75d05aa06aa062cca6a8a2bd4

-----------------------191688e75d05aa06aa062cca6a8a2bd4
Content-Type: text/html;charset=utf-8
Content-Transfer-Encoding: base64

PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0
cHg7Ij5IZWxsbyBldmVyeW9uZSw8L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWws
IHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250
LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRweDsiPkknbSB0cnlpbmcg
dG8ga2lja3N0YXJ0IHN1cHBvcnQgZm9yIHRoZSBuZXcgPGEgdGl0bGU9Ik1vbnRlbmVncmluIGVJ
RCIgaHJlZj0iaHR0cHM6Ly93d3cuZ292Lm1lL211cC9lbGsiIHRhcmdldD0iX2JsYW5rIiByZWw9
Im5vcmVmZXJyZXIgbm9mb2xsb3cgbm9vcGVuZXIiPk1vbnRlbmVncmluIGVJRDwvYT4sIG9yIGF0
IGxlYXN0IGZpZ3VyZSBvdXQgaG93IGl0IHdvcmtzLiBJJ3ZlIHNlbnQgbXVsdGlwbGUgcmVxdWVz
dHMgZm9yIHRlY2huaWNhbCBzcGVjcyB0byB0aGUgZ292ZXJubWVudCwgYnV0IHVubGVzcyBJIHRh
a2UgdGhlbSB0byBjb3VydCwgSSBkb3VidCBJJ2xsIGdldCBhbnkgdXNlZnVsIGluZm9ybWF0aW9u
LiBUaGVyZWZvcmUgSSdsbCBqdXN0IHdyaXRlIGRvd24gd2hhdCBJIG1hbmFnZSB0byBmaWd1cmUg
b3V0IG9uIG15IG93biwgYW5kIGhvcGVmdWxseSB5b3UgY2FuIHByb3ZpZGUgZnVydGhlciBpbnNp
Z2h0LiBPbmUgdGhpbmcgYWJvdXQgYSBjb3VudHJ5IGFzIHNtYWxsIGFzIE1vbnRlbmVncm8sIGlz
IHRoYXQgdGhlcmUgaXMgYSB2ZXJ5IGhpZ2ggcHJvYmFiaWxpdHkgd2UgZGlkbid0IGltcGxlbWVu
dCBhbnl0aGluZyBjdXN0b20sIGFzIGl0J3Mgbm90IGZpbmFuY2lhbGx5IHZpYWJsZS48L2Rpdj48
ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTRw
eDsiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJmb250LWZhbWlseTogQXJpYWwsIHNhbnMtc2VyaWY7
IGZvbnQtc2l6ZTogMTRweDsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEzLjVwdDsgbGluZS1o
ZWlnaHQ6IG5vcm1hbDsiPkhlcmUncyB3aGF0IEkgaGF2ZSBzbyBmYXI6PC9zcGFuPjwvZGl2Pjxk
aXYgc3R5bGU9ImZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxNHB4
OyI+PHVsIGRhdGEtZWRpdGluZy1pbmZvPSJ7JnF1b3Q7b3JkZXJlZFN0eWxlVHlwZSZxdW90Ozox
LCZxdW90O3Vub3JkZXJlZFN0eWxlVHlwZSZxdW90OzoxfSIgc3R5bGU9Im1hcmdpbi10b3A6IDBw
eDsgbWFyZ2luLWJvdHRvbTogMHB4OyI+PGxpIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6IGRpc2M7
Ij48Yj5BVFI8L2I+OiA8c3Bhbj4zYjpkYzo5NjpmZjo4MTo5MTpmZToxZjpjMzo4MDo3MzpjODoy
MToxMzo2NjowNTowMzo2Mzo1MTowMDowMjpkZTwvc3Bhbj4uIEl0IGRvZXNuJ3Qgc2VlbSB0byBj
b21wbHkgd2l0aCB0aGUgQVRSIHNjaGVtZSBpbiB0aGUgSUFTIEVDQyBzcGVjaWZpY2F0aW9uLCBl
dmVuIHRob3VnaCB0aGUgZ292ZXJubWVudCBzYXlzIHRoZSBjYXJkIGNvbXBsaWVzIHdpdGggYWxs
IEVVIElEIHJlZ3VsYXRpb25zICh1bmNsZWFyIHdoaWNoIG9uZXMpLjwvbGk+PGxpIHN0eWxlPSJs
aXN0LXN0eWxlLXR5cGU6IGRpc2M7Ij48Yj5FRi5BVFIgcmF3IGRhdGE8L2I+OiA4MDAwNDMwMUI5
NDYwNDA0MDBFQ0MyNDcwMzk0MDE4MCA0RjBCRjA0OTYxNzM0NTYzNjM1MjZGNkY3NEUwMTAwMiAw
MjAxMDQwMjAyMDBFNjAyMDIwMEU2MDIwMjAwRTY3OAowODA2MDYyQjgxMjJGODc4MDI4MjAyOTAw
MDwvbGk+PGxpIHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6IGRpc2M7Ij48Yj5FRi5ESVIgcmF3IGRh
dGE8L2I+OiA8c3Bhbj42MTM3NEYwRUU4MjhCRDA4MEZEMjUwNDc2NTZFNjU3MiA2OTYzNTAwNzQz
Njg2OTcwNDQ2RjYzNzMxQzMwMDQwNCAwMjUwMzFBMDA0MDQwMjUwMzI0RjBFRTgyOEJEMDgwRjwv
c3Bhbj48ZGl2PjxzcGFuPkQyNTA0NTQzNDMyRDY1NDk0NDYxMEY0RjA3QTAwMDAwIDAyNDcxMDAx
NTAwNDQ5NDM0MTRGNjExODRGMEE0RDRGIDRFNTQ0NTRFNDU0NzUyNEY1MDBBNEU2MTc0Njk2RjZF
IDwvc3Bhbj48c3Bhbj42MTZDNDk0NDwvc3Bhbj48L2Rpdj48L2xpPjxsaSBzdHlsZT0ibGlzdC1z
dHlsZS10eXBlOiBkaXNjOyI+QnkgZGVjaXBoZXJpbmcgdGhlIEVGLkRJUiBkYXRhLCB3ZSBjYW4g
ZGlzY292ZXIgNCBhcHBsaWNhdGlvbnM6PC9saT48dWwgc3R5bGU9Im1hcmdpbi10b3A6IDBweDsg
bWFyZ2luLWJvdHRvbTogMHB4OyBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTsiPjxsaSBzdHlsZT0i
Zm9udC1zaXplOiAxNXB4OyBmb250LWZhbWlseTogJnF1b3Q7TW9ubyZxdW90OzsiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTVweDtsaW5lLWhlaWdodDoyNHB4O2xldHRlci1zcGFjaW5nOi0wLjA4
cHg7b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkIj48a2JkIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmU7
IGZvbnQtZmFtaWx5OiAmcXVvdDtNb25vJnF1b3Q7OyBsaW5lLWhlaWdodDogMS43MTsgYmFja2dy
b3VuZDogcmdiYSgyNDcsIDI0NSwgMjQwLCAwLjUpOyBwYWRkaW5nOiAwcHggNHB4OyBib3JkZXIt
cmFkaXVzOiAycHg7Ij5FODI4QkQwODBGRDI1MDQ3NjU2RTY1NzI2OTYzPC9rYmQ+PC9zcGFuPgoJ
LSBFQ0MgR2VuZXJpYyBQS0kgLyBDaGlwRG9jcyBBcHBsZXQ8L2xpPjxsaSBzdHlsZT0iZm9udC1z
aXplOiAxNXB4OyBmb250LWZhbWlseTogJnF1b3Q7TW9ubyZxdW90OzsiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTVweDtsaW5lLWhlaWdodDoyNHB4O2xldHRlci1zcGFjaW5nOi0wLjA4cHg7b3Zl
cmZsb3ctd3JhcDpicmVhay13b3JkIj48a2JkIHN0eWxlPSJkaXNwbGF5OiBpbmxpbmU7IGZvbnQt
ZmFtaWx5OiAmcXVvdDtNb25vJnF1b3Q7OyBsaW5lLWhlaWdodDogMS43MTsgYmFja2dyb3VuZDog
cmdiYSgyNDcsIDI0NSwgMjQwLCAwLjUpOyBwYWRkaW5nOiAwcHggNHB4OyBib3JkZXItcmFkaXVz
OiAycHg7Ij5FODI4QkQwODBGRDI1MDQ1NDM0MzJENjU0OTQ0PC9rYmQ+PC9zcGFuPgoJLSBFQ0Mg
ZUlEPC9saT48bGkgc3R5bGU9ImZvbnQtc2l6ZTogMTVweDsgZm9udC1mYW1pbHk6ICZxdW90O01v
bm8mcXVvdDs7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjE1cHg7bGluZS1oZWlnaHQ6MjRweDts
ZXR0ZXItc3BhY2luZzotMC4wOHB4O292ZXJmbG93LXdyYXA6YnJlYWstd29yZCI+PGtiZCBzdHls
ZT0iZGlzcGxheTogaW5saW5lOyBmb250LWZhbWlseTogJnF1b3Q7TW9ubyZxdW90OzsgbGluZS1o
ZWlnaHQ6IDEuNzE7IGJhY2tncm91bmQ6IHJnYmEoMjQ3LCAyNDUsIDI0MCwgMC41KTsgcGFkZGlu
ZzogMHB4IDRweDsgYm9yZGVyLXJhZGl1czogMnB4OyI+QTAwMDAwMDI0NzEwMDE8L2tiZD48L3Nw
YW4+CgktIElDQU88L2xpPjxsaSBzdHlsZT0iIj40RDRGNEU1NDQ1NEU0NTQ3NTI0RiAtIFNwZWxs
cyBvdXQgTU9OVEVORUdSTyBpbiBBU0NJSSwgbGFiZWwgaXMgIk5hdGlvbmFsSUQiLiBObyBpZGVh
IHdoYXQgdGhpcyBjb3VsZCBiZS4uLiBtYXliZSBzb21ldGhpbmcgcmVsYXRlZCB0byBoZWFsdGhj
YXJlPzwvbGk+PC91bD48bGkgc3R5bGU9Imxpc3Qtc3R5bGUtdHlwZTogZGlzYzsiPkkgbWFuYWdl
ZCB0byB1c2UgbnBhLXRvb2wgYW5kIHJlYWQgdGhlIE1SWiBzdG9yZWQgb24gdGhlIGNhcmQgdXNp
bmcgQ0FOLWJhc2VkIFBBQ0UsIGJ1dCBhbGwgb3RoZXIgZnVuY3Rpb25zIG9mIHRoZSB0b29sIGRv
bid0IHdvcmssIG5vdCBldmVuIFBJTi1iYXNlZCBQQUNFLiBJJ20ganVzdCB1c2luZyBpdCBhcyBh
biBBUERVIGRlYnVnZ2VyIHdpdGggUEFDRSBzdXBwb3J0LjwvbGk+PGxpIHN0eWxlPSJsaXN0LXN0
eWxlLXR5cGU6IGRpc2M7Ij5UaGUgb2ZmaWNpYWwgbWlkZGxld2FyZSBzdXBwbGllZCBieSB0aGUg
Z292ZXJubWVudCBpcyBBdGhlbmEgSURQcm90ZWN0LjwvbGk+PGxpIHN0eWxlPSJsaXN0LXN0eWxl
LXR5cGU6IGRpc2M7Ij5UaGUgYWN0aXZhdGlvbiBzb2Z0d2FyZSBpcyBhdmFpbGFibGUgPGEgaHJl
Zj0iaHR0cHM6Ly93YXBpLmdvdi5tZS9kb3dubG9hZC9lNjNiNTBjNS05Y2NjLTQwMzQtOTYxZi01
YmI0MDFhOWIzNzU/dmVyc2lvbj0xLjAiIHRpdGxlPSJoZXJlIj5oZXJlPC9hPi4gSXQncyBhIGph
dmEgcHJvZ3JhbSBkZXZlbG9wZWQgYnkgPGEgaHJlZj0iaHR0cHM6Ly93d3cubXVlaGxiYXVlci5k
ZS8iIHRpdGxlPSJNw7xobGJhdWVyIj5Nw7xobGJhdWVyPC9hPi4gSSBkZWNvbXBpbGVkIGl0IGFu
ZCBzYXcgdGhhdCBpdCdzIGFjY2Vzc2luZyB0aGUgRUNDIGVJRCBhcHBsaWNhdGlvbi4gSSBtYW5h
Z2VkIHRvIGV4dHJhY3Qgc29tZSBBUERVcyBhbmQgZ2V0IHRoZSBhY3RpdmF0aW9uIHN0YXR1cyBv
ZiB0aGUgY2FyZCAoUElOIGNoYW5nZSBpcyByZXF1aXJlZCBvbiBmaXJzdCB1c2UpLjwvbGk+PGxp
IHN0eWxlPSJsaXN0LXN0eWxlLXR5cGU6IGRpc2M7Ij5pYXNlY2MtdG9vbCBhbmQgcGtjczE1LXRv
b2wgc2F5ICJDYXJkIGlzIGludmFsaWQgb3IgY2Fubm90IGJlIGhhbmRsZWQiIHJlZ2FyZGxlc3Mg
b2Ygd2hhdCBJIHRyeS48L2xpPjwvdWw+PGRpdj5JJ3ZlIHNraW1tZWQgb3ZlciBodW5kcmVkcyBv
ZiBwYWdlcyBvZiBzdGFuZGFyZHMsIGluY2x1ZGluZyB0aGUgSVNPLTc4MTYgcGFydHMsIHRoZSBO
WFAgQ2hpcERvYyB2NCBzcGVjLCB0aGUgQlNJIFRSLTAzMTEwLCB0aGUgSUFTIEVDQyBzcGVjLCBi
dXQgSSBjYW4gYmFyZWx5IGZpbmQgYW55IGNvbmNyZXRlIGluZm8gb24gdGhlc2UgYXBwbGljYXRp
b25zLiBTb21lb25lIG11c3Qga25vdyBob3cgdG8gYWNjZXNzIHRoZW0gYmVjYXVzZSB0aGVyZSBh
cmUgdmVuZG9yLXByb3ZpZGVkIHRvb2xzIHRvIGRvIHNvLjwvZGl2PjxkaXY+PGJyPjwvZGl2Pjxk
aXY+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTMuNXB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+
TXkgZ29hbHMgYXJlOjwvc3Bhbj48L2Rpdj48ZGl2PjxvbCBkYXRhLWVkaXRpbmctaW5mbz0ieyZx
dW90O29yZGVyZWRTdHlsZVR5cGUmcXVvdDs6MSwmcXVvdDt1bm9yZGVyZWRTdHlsZVR5cGUmcXVv
dDs6MX0iIHN0eWxlPSJtYXJnaW4tdG9wOiAwcHg7IG1hcmdpbi1ib3R0b206IDBweDsiPjxsaSBz
dHlsZT0iZm9udC1zaXplOiAxMC41cHQ7IGxpc3Qtc3R5bGUtdHlwZTogJnF1b3Q7MS4gJnF1b3Q7
OyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+
R2V0IGdlbmVyYWwga25vd2xlZGdlIGFib3V0IHRoZSBjYXJkIGFuZCBidWlsZCBzb21lIFBvQyBB
UERVIGNoYWlucyB0byByZWFkL3NldCBkYXRhLjwvc3Bhbj48L2xpPjxsaSBzdHlsZT0iZm9udC1z
aXplOiAxMC41cHQ7IGxpc3Qtc3R5bGUtdHlwZTogJnF1b3Q7Mi4gJnF1b3Q7OyI+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZTogMTAuNXB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyI+R2V0IHRoZSBiaXJ0
aGRhdGUgb2YgdGhlIHBlcnNvbiB2aWEgUElOLWJhc2VkIGF1dGggYW5kIHZlcmlmeSB0aGUgYXV0
aGVudGljaXR5IG9mIHRoZSBkYXRhLjwvc3Bhbj48L2xpPjxsaSBzdHlsZT0iZm9udC1zaXplOiAx
MC41cHQ7IGxpc3Qtc3R5bGUtdHlwZTogJnF1b3Q7My4gJnF1b3Q7OyI+R2V0IHRoZSBvcGVuU0Mg
c3VpdGUgb2YgdG9vbHMgdG8gd29yayB3aXRoIHRoZSBjYXJkLjwvbGk+PGxpIHN0eWxlPSJmb250
LXNpemU6IDEwLjVwdDsgbGlzdC1zdHlsZS10eXBlOiAmcXVvdDs0LiAmcXVvdDs7Ij5SZXBsYWNl
IHRoZSBjbG9zZWQtc291cmNlIG1pZGRsZXdhcmUgcHJvdmlkZWQgYnkgdGhlIGdvdmVybm1lbnQu
PC9saT48L29sPjxkaXY+PGJyPjwvZGl2PjxkaXY+SSB3b3VsZCByZWFsbHkgYXBwcmVjaWF0ZSBh
bnkgaGVscCBoZXJlLiBUaGFua3MhPC9kaXY+PC9kaXY+PC9kaXY+
-----------------------191688e75d05aa06aa062cca6a8a2bd4--
-----------------------f0bbce1dd1c187282bdb029169315696--
-----------------------1c4acb923e6b4be04504d7f7fc61dcc5
Content-Type: application/pgp-keys; filename="publickey - [email protected] - 0x5E7E90EC.asc"; name="publickey - [email protected] - 0x5E7E90EC.asc"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="publickey - [email protected] - 0x5E7E90EC.asc"; name="publickey - [email protected] - 0x5E7E90EC.asc"

LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCgp4ak1FWTJBeURoWUpLd1lCQkFI
YVJ3OEJBUWRBMDV1YktqRGVlMDRIeHRYaGNMeHQzemFrbjVHbThXMXoKL0VKTlhEZ0FjOGpOSldS
NlpYSnBPVFpBY0hKdmRHOXVMbTFsSUR4a2VtVnlhVGsyUUhCeWIzUnZiaTV0ClpUN0NqQVFRRmdv
QUhRVUNZMkF5RGdRTENRY0lBeFVJQ2dRV0FBSUJBaGtCQWhzREFoNEJBQ0VKRUFXYQozNWVUdFlK
NUZpRUVYbjZRN0hHck92dzd2NEhFQlpyZmw1TzFnbmtncVFFQXVranBQTHZPZkl5Vjd0alMKVXk3
c0toRU9PT3VBKzBjdEFXLzhQSXdtd0JFQkFPYURlcmg4RkxGWTljRGxvVDJRMFR1QzB2cHo5dGQ3
CjdLMWdYWGNqUUNZSHpqZ0VZMkF5RGhJS0t3WUJCQUdYVlFFRkFRRUhRR1dUQjhLTzc0NHlBVnFv
Z3F4LworUllLZnhSbDFOYjJmSFZKRkJLOTF4QVRBd0VJQjhKNEJCZ1dDQUFKQlFKallESU9BaHNN
QUNFSkVBV2EKMzVlVHRZSjVGaUVFWG42UTdIR3JPdnc3djRIRUJacmZsNU8xZ25tTnNRRUFuMlJJ
TG1qdVdqdXRtUFY0CnA2NitybmFnMjFpSVpPa1RIQmR1THc1ejFaMEEvampHbzhlZFV2cGRxS1RF
S2xRYXFTRklZZFdEdW40eQpNNzNSaTFYNm8vNEQKPVhpL2YKLS0tLS1FTkQgUEdQIFBVQkxJQyBL
RVkgQkxPQ0stLS0tLQo=
-----------------------1c4acb923e6b4be04504d7f7fc61dcc5--

--------db2a8ea60a755c995f33d44a4321be2944d4a53e7fa2b7e5eeaffd77aaae2d30
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: ProtonMail

wrsEARYKAG0FgmgHjw8JkAWa35eTtYJ5RRQAAAAAABwAIHNhbHRAbm90YXRp
b25zLm9wZW5wZ3Bqcy5vcmfeKCqhKEUnDArMVQ8w4+edUJNosbafpPKFNcOA
wm4NjhYhBF5+kOxxqzr8O7+BxAWa35eTtYJ5AADTygEA3kn/SPDUCv41dRbp
AsCBEQtkrWhT+JZFoUBJZjW2S5MBAKc/R7jvvCQE2FJg5xf07S2S6wIlmvuM
GbRwoT+ympwA
=sKdp
-----END PGP SIGNATURE-----


--------db2a8ea60a755c995f33d44a4321be2944d4a53e7fa2b7e5eeaffd77aaae2d30--



--===============6306394807694998931==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline


--===============6306394807694998931==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Opensc-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensc-devel

--===============6306394807694998931==--