Hello,
Could somebody please look at attached logs & certs?
I'm having difficult time trying to understand why doesn't mozilla
behave as expected.
Well, backround at first:
I've written a pkcs11 module for Estonian EstEID smartcard, it card has
two key/cert pairs - one for authentication and the other for signatures
(nonRepudiation).For a long time, i couldn't get the module to work at
all - mozilla did read the certificate objects in and then promptly
crashed or started dozens of VerifyRecover functions with self-created
session public key objects and, when finished, crashed again.
Under NS4.79 work these cards whose certs do not have utf8-encoded chars
in their DN.
Right now im using build with id 20020929 (nightly build) and it
doesn't crash anymore. Instead it reads certs in and shows them under
certifcate manager. Authentication certificate looks fine, but for
non-repudiation certificate certificate manager says "Could not verify
this certificate for unknown reasons.". Both certificates are signed by
the same CA. When i tried to use authentication certificate against
client-certs-requiring webserver, i got nothing - mozilla found private
key objects and just before C_SignInit, simply hung - never ending
stopwatch, UI worked, browser component didn't and i had to restart
browser.
Yesterday i grabbed/compiled nss sources from cvs and used these .so's
under 0929 nightly build. I found out that now _one_ of my
testcards works for authentication, the other behaves as before - hangs
browser component.
I'm attaching certs and session logfiles from pkcs11 module for kind
folks to investigate :-).
TestCard1
authcert1-ok.der - works for authentication, shows up as verified.
signcert1-nok.der - nonRepudiation cert, shows up as "couldn't
verify for unknown reasons."
pkcs11-log1.txt - pkcs11 log from a successful authentication with
webserver.
TestCard2
authcert2-nok.der - does _not_ work for authentication, hangs
browser, shows up as verified.
signcert2-nok.der - nonRepudiation cert, shows up as "couldn't
verify for unknown reasons."
pkcs11-log2.txt - pkcs11 log from a unsuccessful authentication
with webserver.
Regards,
Priit Randla
authcert1-ok.der
Description: Binary data
authcert2-nok.der
Description: Binary data
signcert1-nok.der
Description: Binary data
signcert2-nok.der
Description: Binary data
C_GetSlotInfo() ret: flags 7
C_GetTokenInfo(0, 0xbf7ff68c)
ESTEID detected!
EstEID autentimine (PIN1)
doing sc_esteid_enum_certificates() for application 0
Found total of 1 certificates.
doing sc_esteid_enum_private_keysi() for application 0
using 0x1100 as private key reference
Found total of 1 private keys.
Reading '�AIKOVSKI, IGOR' certificate.
Doing select certificate file...
doing read cert ...
cert_read - 4 seconds
Adding '�AIKOVSKI, IGOR' certificate object (id 42).
add-cert-obj( slot=0, token_id=0)
add-certificate: Attribute 0x0 = 01000000 (length=4)
add-certificate: Attribute 0x80 = 00000000 (length=4)
add-certificate: Attribute 0x1 = 01 (length=1)
add-certificate: Attribute 0x2 = 00 (length=1)
add-certificate: Attribute 0x170 = 00 (length=1)
add-certificate: Attribute 0x3 = 8E41494B4F56534B492C2049474F52 (length=15)
add-certificate: Attribute 0x102 = 42 (length=1)
add-certificate: Attribute 0x86 = 00 (length=1)
add-certificate: Attribute 0x11 = ... (length=1101)
add-certificate: Attribute 0x82 = 30043CD11227 (length=6)
add-certificate: Attribute 0x101 = 3017310B300906035504061302454531143012060355040A13
(length=25)
add-certificate: Attribute 0x81 = ... (length=97)
add_object - slot[0].num_objects==1
Adding '�AIKOVSKI, IGOR' private key object (id 42).
add-private-key( slot=0, token_id=0)
add-private-key: Attribute 0x0 = 03000000 (length=4)
add-private-key: Attribute 0x3 = 8E41494B4F56534B492C2049474F52 (length=15)
add-private-key: Attribute 0x102 = 42 (length=1)
add-private-key: Attribute 0x1 = 01 (length=1)
add-private-key: Attribute 0x100 = 00000000 (length=4)
add-private-key: Attribute 0x163 = 01 (length=1)
add-private-key: Attribute 0x103 = 01 (length=1)
add-private-key: Attribute 0x165 = 01 (length=1)
add-private-key: Attribute 0x164 = 01 (length=1)
add-private-key: Attribute 0x108 = 01 (length=1)
add-private-key: Attribute 0x2 = 01 (length=1)
add-private-key: Attribute 0x170 = 00 (length=1)
add-private-key: Attribute 0x10c = 00 (length=1)
add-private-key: Attribute 0x105 = 01 (length=1)
add-private-key: Attribute 0x109 = 00 (length=1)
add-private-key: Attribute 0x162 = 00 (length=1)
add-private-key: Attribute 0x107 = 01 (length=1)
add-private-key: Attribute 0x120 = ... (length=129)
add-private-key: Attribute 0x122 = 1840F041 (length=4)
add_object - slot[0].num_objects==2
C_GetMechanismList(0, 0x0, 0xbf7ff5e8)
C_GetMechanismList(0, 0x41f04860, 0xbf7ff5e8)
C_OpenSession(0, 0x4, 0x881a718, 0x41723cc0, 0x881a750)
sessions:
new session: hSession=1, slotId=0
C_GetSlotInfo() ret: flags 7
C_GetSlotInfo() ret: flags 7
C_GetTokenInfo(1, 0xbf7ff68c)
ESTEID detected!
EstEID allkirjastamine (PIN2)
doing sc_esteid_enum_certificates() for application 1
Found total of 1 certificates.
doing sc_esteid_enum_private_keysi() for application 1
using 0x0100 as private key reference
Found total of 1 private keys.
Reading '�AIKOVSKI, IGOR' certificate.
Doing select certificate file...
doing read cert ...
cert_read - 5 seconds
Adding '�AIKOVSKI, IGOR' certificate object (id 43).
add-cert-obj( slot=1, token_id=0)
add-certificate: Attribute 0x0 = 01000000 (length=4)
add-certificate: Attribute 0x80 = 00000000 (length=4)
add-certificate: Attribute 0x1 = 01 (length=1)
add-certificate: Attribute 0x2 = 00 (length=1)
add-certificate: Attribute 0x170 = 00 (length=1)
add-certificate: Attribute 0x3 = 8E41494B4F56534B492C2049474F52 (length=15)
add-certificate: Attribute 0x102 = 43 (length=1)
add-certificate: Attribute 0x86 = 00 (length=1)
add-certificate: Attribute 0x11 = ... (length=1029)
add-certificate: Attribute 0x82 = 30043CD11228 (length=6)
add-certificate: Attribute 0x101 =
3018310B300906035504061302454531143012060355040A130B (length=26)
add-certificate: Attribute 0x81 = ... (length=97)
add_object - slot[1].num_objects==1
Adding '�AIKOVSKI, IGOR' private key object (id 43).
add-private-key( slot=1, token_id=0)
add-private-key: Attribute 0x0 = 03000000 (length=4)
add-private-key: Attribute 0x3 = 8E41494B4F56534B492C2049474F52 (length=15)
add-private-key: Attribute 0x102 = 43 (length=1)
add-private-key: Attribute 0x1 = 01 (length=1)
add-private-key: Attribute 0x100 = 00000000 (length=4)
add-private-key: Attribute 0x163 = 01 (length=1)
add-private-key: Attribute 0x103 = 01 (length=1)
add-private-key: Attribute 0x165 = 01 (length=1)
add-private-key: Attribute 0x164 = 01 (length=1)
add-private-key: Attribute 0x108 = 01 (length=1)
add-private-key: Attribute 0x2 = 01 (length=1)
add-private-key: Attribute 0x170 = 00 (length=1)
add-private-key: Attribute 0x10c = 00 (length=1)
add-private-key: Attribute 0x105 = 01 (length=1)
add-private-key: Attribute 0x109 = 00 (length=1)
add-private-key: Attribute 0x162 = 00 (length=1)
add-private-key: Attribute 0x107 = 01 (length=1)
add-private-key: Attribute 0x120 = ... (length=129)
add-private-key: Attribute 0x122 = 885AF041 (length=4)
add_object - slot[1].num_objects==2
C_GetMechanismList(1, 0x0, 0xbf7ff5e8)
C_GetMechanismList(1, 0x41f05970, 0xbf7ff5e8)
C_OpenSession(1, 0x4, 0x881b3a8, 0x41723cc0, 0x881b3e0)
sessions:1 : 0x41f04190 -> slot 0 |
new session: hSession=2, slotId=1
C_GetSlotInfo() ret: flags 7
C_GetSlotInfo() ret: flags 7
C_Login(2, 1, 0x41f032e8, 5)
Session valid.
PIN length ok.
Master PIN code verification starts.
will call sc_verify( card, 2, 38887, 5, &tries_left)
Master PIN code verified succesfully.
C_GetSlotInfo() ret: flags 7
C_FindObjectsInit(2, 0x0xbf7ff120, 2)
C_FindObjectsInit: Attribute 0x1 = 01 (length=1)
C_FindObjectsInit: Attribute 0x0 = 01000000 (length=4)
C_FindObjectsInit(): Object 1 matches search criteria
C_FindObjects(2, 0xbf7ff090, 10, 0xbf7ff0d8)
C_FindObjects: returning 1 matching objects
C_FindObjectsFinal(2)
C_GetAttributeValue(2, 1, 0xbf7fefe0, 2)
C_GetAttributeValue: Attribute 0x1 length 1
C_GetAttributeValue: Attribute 0x3 length 15
C_GetAttributeValue(2, 1, 0xbf7fefe0, 2)
C_GetAttributeValue: Copying attribute 0x1 length 1
C_GetAttributeValue: Copying attribute 0x3 length 15
C_GetAttributeValue(2, 1, 0x87c77e8, 10)
C_GetAttributeValue: Attribute 0x0 length 4
C_GetAttributeValue: Attribute 0x1 length 1
C_GetAttributeValue: Attribute 0x3 length 15
C_GetAttributeValue: Attribute 0x80 length 4
C_GetAttributeValue: Attribute 0x102 length 1
C_GetAttributeValue: Attribute 0x11 length 1029
C_GetAttributeValue: Attribute 0x81 length 97
C_GetAttributeValue: Attribute 0x82 length 6
C_GetAttributeValue: Attribute 0x101 length 26
C_GetAttributeValue: Attribute 0xce534352 not present
C_GetAttributeValue(2, 1, 0x87c77e8, 10)
C_GetAttributeValue: Copying attribute 0x0 length 4
C_GetAttributeValue: Copying attribute 0x1 length 1
C_GetAttributeValue: Copying attribute 0x3 length 15
C_GetAttributeValue: Copying attribute 0x80 length 4
C_GetAttributeValue: Copying attribute 0x102 length 1
C_GetAttributeValue: Copying attribute 0x11 length 1029
C_GetAttributeValue: Copying attribute 0x81 length 97
C_GetAttributeValue: Copying attribute 0x82 length 6
C_GetAttributeValue: Copying attribute 0x101 length 26
C_GetAttributeValue: Attribute 0xce534352 not present
C_GetAttributeValue(2, 1, 0x87c7854, 1)
C_GetAttributeValue: Attribute 0xce534352 not present
C_GetAttributeValue(2, 1, 0x87c7854, 1)
C_GetAttributeValue: Attribute 0xce534352 not present
C_Login(1, 1, 0x41f033b0, 4)
Session valid.
PIN length ok.
Master PIN code verification starts.
will call sc_verify( card, 1, 5378, 4, &tries_left)
Master PIN code verified succesfully.
C_GetSlotInfo() ret: flags 7
C_FindObjectsInit(1, 0x0xbf7ff120, 2)
C_FindObjectsInit: Attribute 0x1 = 01 (length=1)
C_FindObjectsInit: Attribute 0x0 = 01000000 (length=4)
C_FindObjectsInit(): Object 1 matches search criteria
C_FindObjects(1, 0xbf7ff090, 10, 0xbf7ff0d8)
C_FindObjects: returning 1 matching objects
C_FindObjectsFinal(1)
C_GetAttributeValue(1, 1, 0xbf7fefe0, 2)
C_GetAttributeValue: Attribute 0x1 length 1
C_GetAttributeValue: Attribute 0x3 length 15
C_GetAttributeValue(1, 1, 0xbf7fefe0, 2)
C_GetAttributeValue: Copying attribute 0x1 length 1
C_GetAttributeValue: Copying attribute 0x3 length 15
C_GetAttributeValue(1, 1, 0x8758a20, 10)
C_GetAttributeValue: Attribute 0x0 length 4
C_GetAttributeValue: Attribute 0x1 length 1
C_GetAttributeValue: Attribute 0x3 length 15
C_GetAttributeValue: Attribute 0x80 length 4
C_GetAttributeValue: Attribute 0x102 length 1
C_GetAttributeValue: Attribute 0x11 length 1101
C_GetAttributeValue: Attribute 0x81 length 97
C_GetAttributeValue: Attribute 0x82 length 6
C_GetAttributeValue: Attribute 0x101 length 25
C_GetAttributeValue: Attribute 0xce534352 not present
C_GetAttributeValue(1, 1, 0x8758a20, 10)
C_GetAttributeValue: Copying attribute 0x0 length 4
C_GetAttributeValue: Copying attribute 0x1 length 1
C_GetAttributeValue: Copying attribute 0x3 length 15
C_GetAttributeValue: Copying attribute 0x80 length 4
C_GetAttributeValue: Copying attribute 0x102 length 1
C_GetAttributeValue: Copying attribute 0x11 length 1101
C_GetAttributeValue: Copying attribute 0x81 length 97
C_GetAttributeValue: Copying attribute 0x82 length 6
C_GetAttributeValue: Copying attribute 0x101 length 25
C_GetAttributeValue: Attribute 0xce534352 not present
C_GetAttributeValue(1, 1, 0x8758a8c, 1)
C_GetAttributeValue: Attribute 0xce534352 not present
C_GetAttributeValue(1, 1, 0x8758a8c, 1)
C_GetAttributeValue: Attribute 0xce534352 not present
C_GetSlotInfo() ret: flags 7
C_FindObjectsInit(1, 0x0xbf7ff2d0, 2)
C_FindObjectsInit: Attribute 0x1 = 01 (length=1)
C_FindObjectsInit: Attribute 0x0 = 01000000 (length=4)
C_FindObjectsInit(): Object 1 matches search criteria
C_FindObjects(1, 0x41f9f168, 16, 0xbf7ff2f8)
C_FindObjects: returning 1 matching objects
C_FindObjectsFinal(1)
C_GetAttributeValue(1, 1, 0xbf7ff210, 2)
C_GetAttributeValue: Attribute 0x1 length 1
C_GetAttributeValue: Attribute 0x3 length 15
C_GetAttributeValue(1, 1, 0xbf7ff210, 2)
C_GetAttributeValue: Copying attribute 0x1 length 1
C_GetAttributeValue: Copying attribute 0x3 length 15
C_FindObjectsInit(2, 0x0xbf7ff2d0, 2)
C_FindObjectsInit: Attribute 0x1 = 01 (length=1)
C_FindObjectsInit: Attribute 0x0 = 01000000 (length=4)
C_FindObjectsInit(): Object 1 matches search criteria
C_FindObjects(2, 0x41f9f168, 16, 0xbf7ff2f8)
C_FindObjects: returning 1 matching objects
C_FindObjectsFinal(2)
C_GetAttributeValue(2, 1, 0xbf7ff210, 2)
C_GetAttributeValue: Attribute 0x1 length 1
C_GetAttributeValue: Attribute 0x3 length 15
C_GetAttributeValue(2, 1, 0xbf7ff210, 2)
C_GetAttributeValue: Copying attribute 0x1 length 1
C_GetAttributeValue: Copying attribute 0x3 length 15
C_GetAttributeValue(2, 1, 0xbf7ff220, 2)
C_GetAttributeValue: Attribute 0x102 length 1
C_GetAttributeValue: Attribute 0x0 length 4
C_GetAttributeValue(2, 1, 0xbf7ff220, 2)
C_GetAttributeValue: Copying attribute 0x102 length 1
C_GetAttributeValue: Copying attribute 0x0 length 4
C_FindObjectsInit(2, 0x0xbf7ff220, 2)
C_FindObjectsInit: Attribute 0x102 = 43 (length=1)
C_FindObjectsInit: Attribute 0x0 = 03000000 (length=4)
C_FindObjectsInit(): Object 2 matches search criteria
C_FindObjects(2, 0xbf7ff1e0, 1, 0xbf7ff1d8)
C_FindObjects: returning 1 matching objects
C_FindObjectsFinal(2)
C_GetAttributeValue(1, 1, 0xbf7ff220, 2)
C_GetAttributeValue: Attribute 0x102 length 1
C_GetAttributeValue: Attribute 0x0 length 4
C_GetAttributeValue(1, 1, 0xbf7ff220, 2)
C_GetAttributeValue: Copying attribute 0x102 length 1
C_GetAttributeValue: Copying attribute 0x0 length 4
C_FindObjectsInit(1, 0x0xbf7ff220, 2)
C_FindObjectsInit: Attribute 0x102 = 42 (length=1)
C_FindObjectsInit: Attribute 0x0 = 03000000 (length=4)
C_FindObjectsInit(): Object 2 matches search criteria
C_FindObjects(1, 0xbf7ff1e0, 1, 0xbf7ff1d8)
C_FindObjects: returning 1 matching objects
C_FindObjectsFinal(1)
C_GetAttributeValue(1, 1, 0xbf7ff1f0, 2)
C_GetAttributeValue: Attribute 0x102 length 1
C_GetAttributeValue: Attribute 0x0 length 4
C_GetAttributeValue(1, 1, 0xbf7ff1f0, 2)
C_GetAttributeValue: Copying attribute 0x102 length 1
C_GetAttributeValue: Copying attribute 0x0 length 4
C_FindObjectsInit(1, 0x0xbf7ff1f0, 2)
C_FindObjectsInit: Attribute 0x102 = 42 (length=1)
C_FindObjectsInit: Attribute 0x0 = 03000000 (length=4)
C_FindObjectsInit(): Object 2 matches search criteria
C_FindObjects(1, 0xbf7ff1b0, 1, 0xbf7ff1a8)
C_FindObjects: returning 1 matching objects
C_FindObjectsFinal(1)
C_GetAttributeValue(1, 1, 0xbf7ff200, 2)
C_GetAttributeValue: Attribute 0x102 length 1
C_GetAttributeValue: Attribute 0x0 length 4
C_GetAttributeValue(1, 1, 0xbf7ff200, 2)
C_GetAttributeValue: Copying attribute 0x102 length 1
C_GetAttributeValue: Copying attribute 0x0 length 4
C_FindObjectsInit(1, 0x0xbf7ff200, 2)
C_FindObjectsInit: Attribute 0x102 = 42 (length=1)
C_FindObjectsInit: Attribute 0x0 = 03000000 (length=4)
C_FindObjectsInit(): Object 2 matches search criteria
C_FindObjects(1, 0xbf7ff1c0, 1, 0xbf7ff1b8)
C_FindObjects: returning 1 matching objects
C_FindObjectsFinal(1)
C_GetAttributeValue(2, 1, 0xbf7ff1f0, 2)
C_GetAttributeValue: Attribute 0x102 length 1
C_GetAttributeValue: Attribute 0x0 length 4
C_GetAttributeValue(2, 1, 0xbf7ff1f0, 2)
C_GetAttributeValue: Copying attribute 0x102 length 1
C_GetAttributeValue: Copying attribute 0x0 length 4
C_FindObjectsInit(2, 0x0xbf7ff1f0, 2)
C_FindObjectsInit: Attribute 0x102 = 43 (length=1)
C_FindObjectsInit: Attribute 0x0 = 03000000 (length=4)
C_FindObjectsInit(): Object 2 matches search criteria
C_FindObjects(2, 0xbf7ff1b0, 1, 0xbf7ff1a8)
C_FindObjects: returning 1 matching objects
C_FindObjectsFinal(2)
C_GetAttributeValue(2, 1, 0xbf7ff200, 2)
C_GetAttributeValue: Attribute 0x102 length 1
C_GetAttributeValue: Attribute 0x0 length 4
C_GetAttributeValue(2, 1, 0xbf7ff200, 2)
C_GetAttributeValue: Copying attribute 0x102 length 1
C_GetAttributeValue: Copying attribute 0x0 length 4
C_FindObjectsInit(2, 0x0xbf7ff200, 2)
C_FindObjectsInit: Attribute 0x102 = 43 (length=1)
C_FindObjectsInit: Attribute 0x0 = 03000000 (length=4)
C_FindObjectsInit(): Object 2 matches search criteria
C_FindObjects(2, 0xbf7ff1c0, 1, 0xbf7ff1b8)
C_FindObjects: returning 1 matching objects
C_FindObjectsFinal(2)
C_FindObjectsInit(1, 0x0xbf7ff3bc, 1)
C_FindObjectsInit: Attribute 0x11 = ... (length=1101)
C_FindObjectsInit(): Object 1 matches search criteria
C_FindObjects(1, 0xbf7ff37c, 1, 0xbf7ff374)
C_FindObjects: returning 1 matching objects
C_FindObjectsFinal(1)
C_GetAttributeValue(1, 1, 0xbf7ff3ac, 2)
C_GetAttributeValue: Attribute 0x102 length 1
C_GetAttributeValue: Attribute 0x0 length 4
C_GetAttributeValue(1, 1, 0xbf7ff3ac, 2)
C_GetAttributeValue: Copying attribute 0x102 length 1
C_GetAttributeValue: Copying attribute 0x0 length 4
C_FindObjectsInit(1, 0x0xbf7ff3ac, 2)
C_FindObjectsInit: Attribute 0x102 = 42 (length=1)
C_FindObjectsInit: Attribute 0x0 = 03000000 (length=4)
C_FindObjectsInit(): Object 2 matches search criteria
C_FindObjects(1, 0xbf7ff36c, 1, 0xbf7ff364)
C_FindObjects: returning 1 matching objects
C_FindObjectsFinal(1)
C_GetAttributeValue(1, 2, 0xbf7ff38c, 1)
C_GetAttributeValue: Copying attribute 0x100 length 4
C_GetAttributeValue(1, 2, 0xbf7ff37c, 1)
C_GetAttributeValue: Copying attribute 0x1 length 1
C_GetAttributeValue(1, 2, 0xbf7ff73c, 1)
C_GetAttributeValue: Attribute 0x120 length 129
C_GetAttributeValue(1, 2, 0xbf7ff73c, 1)
C_GetAttributeValue: Copying attribute 0x120 length 129
C_OpenSession(0, 0x4, 0x881a718, 0x41723cc0, 0xbf7ff72c)
sessions:1 : 0x41f04190 -> slot 0 | 2 : 0x41f05238 -> slot 1 |
new session: hSession=3, slotId=0
C_SignInit(3, {1, 0x0, 0}, 2)
CKM_RSA_PKCS mechanism requested
Token id is 0
C_Sign(3, 0xbf7ff80c, 36, 0x41f5e8a8, 0xbf7ff750)
Got signature, 128 bytes (buffer was 129)
C_CloseSession(3)
C_GetFunctionList(0x86de344) C_Initialize(0x417a55a0) C_GetInfo(0xbfffb700) C_GetSlotList(0, 0x0, 0xbfffb6fc) C_GetSlotList(0, 0x86d0168, 0xbfffb6fc) GetSlotList returned 2 C_GetSlotInfo() ret: flags 7 C_GetTokenInfo(0, 0xbfffb590) ESTEID detected! EstEID autentimine (PIN1) doing sc_esteid_enum_certificates() for application 0 Found total of 1 certificates. doing sc_esteid_enum_private_keysi() for application 0 using 0x1200 as private key reference Found total of 1 private keys. Reading 'Leek, Hannu' certificate. Doing select certificate file... doing read cert ... cert_read - 5 seconds Adding 'Leek, Hannu' certificate object (id 42). add-cert-obj( slot=0, token_id=0) add-certificate: Attribute 0x0 = 01000000 (length=4) add-certificate: Attribute 0x80 = 00000000 (length=4) add-certificate: Attribute 0x1 = 01 (length=1) add-certificate: Attribute 0x2 = 00 (length=1) add-certificate: Attribute 0x170 = 00 (length=1) add-certificate: Attribute 0x3 = 4C65656B2C2048616E6E75 (length=11) add-certificate: Attribute 0x102 = 42 (length=1) add-certificate: Attribute 0x86 = 00 (length=1) add-certificate: Attribute 0x11 = ... (length=1199) add-certificate: Attribute 0x82 = 30043D6B0CC9 (length=6) add-certificate: Attribute 0x101 = 3012310B30090603550406130245453114301206 (length=20) add-certificate: Attribute 0x81 = ... (length=97) add_object - slot[0].num_objects==1 Adding 'Leek, Hannu' private key object (id 42). add-private-key( slot=0, token_id=0) add-private-key: Attribute 0x0 = 03000000 (length=4) add-private-key: Attribute 0x3 = 4C65656B2C2048616E6E75 (length=11) add-private-key: Attribute 0x102 = 42 (length=1) add-private-key: Attribute 0x1 = 01 (length=1) add-private-key: Attribute 0x100 = 00000000 (length=4) add-private-key: Attribute 0x163 = 01 (length=1) add-private-key: Attribute 0x103 = 01 (length=1) add-private-key: Attribute 0x165 = 01 (length=1) add-private-key: Attribute 0x164 = 01 (length=1) add-private-key: Attribute 0x108 = 01 (length=1) add-private-key: Attribute 0x2 = 01 (length=1) add-private-key: Attribute 0x170 = 00 (length=1) add-private-key: Attribute 0x10c = 00 (length=1) add-private-key: Attribute 0x105 = 01 (length=1) add-private-key: Attribute 0x109 = 00 (length=1) add-private-key: Attribute 0x162 = 00 (length=1) add-private-key: Attribute 0x107 = 01 (length=1) add-private-key: Attribute 0x120 = ... (length=129) add-private-key: Attribute 0x122 = 800B6E08 (length=4) add_object - slot[0].num_objects==2 C_GetMechanismList(0, 0x0, 0xbfffb4ec) C_GetMechanismList(0, 0x86e0a60, 0xbfffb4ec) C_OpenSession(0, 0x4, 0x86def20, 0x41740cc0, 0xbfffb580) sessions: new session: hSession=1, slotId=0 C_FindObjectsInit(1, 0x0xbfffb620, 1) C_FindObjectsInit: Attribute 0x0 = 544353CE (length=4) C_FindObjects(1, 0xbfffb5f0, 1, 0xbfffb5e8) C_FindObjects: returning 0 matching objects C_FindObjectsFinal(1) C_GetSlotInfo() ret: flags 7 C_GetTokenInfo(1, 0xbfffb590) ESTEID detected! EstEID allkirjastamine (PIN2) doing sc_esteid_enum_certificates() for application 1 Found total of 1 certificates. doing sc_esteid_enum_private_keysi() for application 1 using 0x0200 as private key reference Found total of 1 private keys. Reading 'Leek, Hannu' certificate. Doing select certificate file... doing read cert ... cert_read - 4 seconds Adding 'Leek, Hannu' certificate object (id 43). add-cert-obj( slot=1, token_id=0) add-certificate: Attribute 0x0 = 01000000 (length=4) add-certificate: Attribute 0x80 = 00000000 (length=4) add-certificate: Attribute 0x1 = 01 (length=1) add-certificate: Attribute 0x2 = 00 (length=1) add-certificate: Attribute 0x170 = 00 (length=1) add-certificate: Attribute 0x3 = 4C65656B2C2048616E6E75 (length=11) add-certificate: Attribute 0x102 = 43 (length=1) add-certificate: Attribute 0x86 = 00 (length=1) add-certificate: Attribute 0x11 = ... (length=987) add-certificate: Attribute 0x82 = 30043D6B0CF7 (length=6) add-certificate: Attribute 0x101 = 3012310B30090603550406130245453114301206 (length=20) add-certificate: Attribute 0x81 = ... (length=97) add_object - slot[1].num_objects==1 Adding 'Leek, Hannu' private key object (id 43). add-private-key( slot=1, token_id=0) add-private-key: Attribute 0x0 = 03000000 (length=4) add-private-key: Attribute 0x3 = 4C65656B2C2048616E6E75 (length=11) add-private-key: Attribute 0x102 = 43 (length=1) add-private-key: Attribute 0x1 = 01 (length=1) add-private-key: Attribute 0x100 = 00000000 (length=4) add-private-key: Attribute 0x163 = 01 (length=1) add-private-key: Attribute 0x103 = 01 (length=1) add-private-key: Attribute 0x165 = 01 (length=1) add-private-key: Attribute 0x164 = 01 (length=1) add-private-key: Attribute 0x108 = 01 (length=1) add-private-key: Attribute 0x2 = 01 (length=1) add-private-key: Attribute 0x170 = 00 (length=1) add-private-key: Attribute 0x10c = 00 (length=1) add-private-key: Attribute 0x105 = 01 (length=1) add-private-key: Attribute 0x109 = 00 (length=1) add-private-key: Attribute 0x162 = 00 (length=1) add-private-key: Attribute 0x107 = 01 (length=1) add-private-key: Attribute 0x120 = ... (length=129) add-private-key: Attribute 0x122 = 98296E08 (length=4) add_object - slot[1].num_objects==2 C_GetMechanismList(1, 0x0, 0xbfffb4ec) C_GetMechanismList(1, 0x86e2878, 0xbfffb4ec) C_OpenSession(1, 0x4, 0x86dfed8, 0x41740cc0, 0xbfffb580) sessions:1 : 0x86dfbd0 -> slot 0 | new session: hSession=2, slotId=1 C_FindObjectsInit(2, 0x0xbfffb620, 1) C_FindObjectsInit: Attribute 0x0 = 544353CE (length=4) C_FindObjects(2, 0xbfffb5f0, 1, 0xbfffb5e8) C_FindObjects: returning 0 matching objects C_FindObjectsFinal(2) C_GetSlotInfo() ret: flags 7 C_GetSlotInfo() ret: flags 7 C_Login(2, 1, 0x8768ad0, 5) Session valid. PIN length ok. Master PIN code verification starts. will call sc_verify( card, 2, 12345, 5, &tries_left) Master PIN code verified succesfully. C_GetMechanismList(1, 0x0, 0xbf7ff248) C_GetMechanismList(1, 0xbf7ff250, 0xbf7ff248) C_GetSlotInfo() ret: flags 7 C_FindObjectsInit(2, 0x0xbf7ff120, 2) C_FindObjectsInit: Attribute 0x1 = 01 (length=1) C_FindObjectsInit: Attribute 0x0 = 01000000 (length=4) C_FindObjectsInit(): Object 1 matches search criteria C_FindObjects(2, 0xbf7ff090, 10, 0xbf7ff0d8) C_FindObjects: returning 1 matching objects C_FindObjectsFinal(2) C_GetAttributeValue(2, 1, 0xbf7fefe0, 2) C_GetAttributeValue: Attribute 0x1 length 1 C_GetAttributeValue: Attribute 0x3 length 11 C_GetAttributeValue(2, 1, 0xbf7fefe0, 2) C_GetAttributeValue: Copying attribute 0x1 length 1 C_GetAttributeValue: Copying attribute 0x3 length 11 C_GetAttributeValue(2, 1, 0x875bf18, 10) C_GetAttributeValue: Attribute 0x0 length 4 C_GetAttributeValue: Attribute 0x1 length 1 C_GetAttributeValue: Attribute 0x3 length 11 C_GetAttributeValue: Attribute 0x80 length 4 C_GetAttributeValue: Attribute 0x102 length 1 C_GetAttributeValue: Attribute 0x11 length 987 C_GetAttributeValue: Attribute 0x81 length 97 C_GetAttributeValue: Attribute 0x82 length 6 C_GetAttributeValue: Attribute 0x101 length 20 C_GetAttributeValue: Attribute 0xce534352 not present C_GetAttributeValue(2, 1, 0x875bf18, 10) C_GetAttributeValue: Copying attribute 0x0 length 4 C_GetAttributeValue: Copying attribute 0x1 length 1 C_GetAttributeValue: Copying attribute 0x3 length 11 C_GetAttributeValue: Copying attribute 0x80 length 4 C_GetAttributeValue: Copying attribute 0x102 length 1 C_GetAttributeValue: Copying attribute 0x11 length 987 C_GetAttributeValue: Copying attribute 0x81 length 97 C_GetAttributeValue: Copying attribute 0x82 length 6 C_GetAttributeValue: Copying attribute 0x101 length 20 C_GetAttributeValue: Attribute 0xce534352 not present C_GetAttributeValue(2, 1, 0x875bf84, 1) C_GetAttributeValue: Attribute 0xce534352 not present C_GetAttributeValue(2, 1, 0x875bf84, 1) C_GetAttributeValue: Attribute 0xce534352 not present C_Login(1, 1, 0x875a120, 4) Session valid. PIN length ok. Master PIN code verification starts. will call sc_verify( card, 1, 1234, 4, &tries_left) Master PIN code verified succesfully. C_GetMechanismList(0, 0x0, 0xbf7ff248) C_GetMechanismList(0, 0xbf7ff250, 0xbf7ff248) C_GetSlotInfo() ret: flags 7 C_FindObjectsInit(1, 0x0xbf7ff120, 2) C_FindObjectsInit: Attribute 0x1 = 01 (length=1) C_FindObjectsInit: Attribute 0x0 = 01000000 (length=4) C_FindObjectsInit(): Object 1 matches search criteria C_FindObjects(1, 0xbf7ff090, 10, 0xbf7ff0d8) C_FindObjects: returning 1 matching objects C_FindObjectsFinal(1) C_GetAttributeValue(1, 1, 0xbf7fefe0, 2) C_GetAttributeValue: Attribute 0x1 length 1 C_GetAttributeValue: Attribute 0x3 length 11 C_GetAttributeValue(1, 1, 0xbf7fefe0, 2) C_GetAttributeValue: Copying attribute 0x1 length 1 C_GetAttributeValue: Copying attribute 0x3 length 11 C_GetAttributeValue(1, 1, 0x8786938, 10) C_GetAttributeValue: Attribute 0x0 length 4 C_GetAttributeValue: Attribute 0x1 length 1 C_GetAttributeValue: Attribute 0x3 length 11 C_GetAttributeValue: Attribute 0x80 length 4 C_GetAttributeValue: Attribute 0x102 length 1 C_GetAttributeValue: Attribute 0x11 length 1199 C_GetAttributeValue: Attribute 0x81 length 97 C_GetAttributeValue: Attribute 0x82 length 6 C_GetAttributeValue: Attribute 0x101 length 20 C_GetAttributeValue: Attribute 0xce534352 not present C_GetAttributeValue(1, 1, 0x8786938, 10) C_GetAttributeValue: Copying attribute 0x0 length 4 C_GetAttributeValue: Copying attribute 0x1 length 1 C_GetAttributeValue: Copying attribute 0x3 length 11 C_GetAttributeValue: Copying attribute 0x80 length 4 C_GetAttributeValue: Copying attribute 0x102 length 1 C_GetAttributeValue: Copying attribute 0x11 length 1199 C_GetAttributeValue: Copying attribute 0x81 length 97 C_GetAttributeValue: Copying attribute 0x82 length 6 C_GetAttributeValue: Copying attribute 0x101 length 20 C_GetAttributeValue: Attribute 0xce534352 not present C_GetAttributeValue(1, 1, 0x87869a4, 1) C_GetAttributeValue: Attribute 0xce534352 not present C_GetAttributeValue(1, 1, 0x87869a4, 1) C_GetAttributeValue: Attribute 0xce534352 not present C_FindObjectsInit(1, 0x0xbf7fef80, 2) C_FindObjectsInit: Attribute 0x1 = 01 (length=1) C_FindObjectsInit: Attribute 0x0 = 534353CE (length=4) C_FindObjects(1, 0xbf7feef0, 10, 0xbf7fef38) C_FindObjects: returning 0 matching objects C_FindObjectsFinal(1) C_GetSlotInfo() ret: flags 7 C_FindObjectsInit(2, 0x0xbf7fef80, 2) C_FindObjectsInit: Attribute 0x1 = 01 (length=1) C_FindObjectsInit: Attribute 0x0 = 534353CE (length=4) C_FindObjects(2, 0xbf7feef0, 10, 0xbf7fef38) C_FindObjects: returning 0 matching objects C_FindObjectsFinal(2) C_FindObjectsInit(1, 0x0xbf7ff2d0, 2) C_FindObjectsInit: Attribute 0x1 = 01 (length=1) C_FindObjectsInit: Attribute 0x0 = 01000000 (length=4) C_FindObjectsInit(): Object 1 matches search criteria C_FindObjects(1, 0x87520f0, 16, 0xbf7ff2f8) C_FindObjects: returning 1 matching objects C_FindObjectsFinal(1) C_GetAttributeValue(1, 1, 0xbf7ff210, 2) C_GetAttributeValue: Attribute 0x1 length 1 C_GetAttributeValue: Attribute 0x3 length 11 C_GetAttributeValue(1, 1, 0xbf7ff210, 2) C_GetAttributeValue: Copying attribute 0x1 length 1 C_GetAttributeValue: Copying attribute 0x3 length 11 C_FindObjectsInit(2, 0x0xbf7ff2d0, 2) C_FindObjectsInit: Attribute 0x1 = 01 (length=1) C_FindObjectsInit: Attribute 0x0 = 01000000 (length=4) C_FindObjectsInit(): Object 1 matches search criteria C_FindObjects(2, 0x87520f0, 16, 0xbf7ff2f8) C_FindObjects: returning 1 matching objects C_FindObjectsFinal(2) C_GetAttributeValue(2, 1, 0xbf7ff210, 2) C_GetAttributeValue: Attribute 0x1 length 1 C_GetAttributeValue: Attribute 0x3 length 11 C_GetAttributeValue(2, 1, 0xbf7ff210, 2) C_GetAttributeValue: Copying attribute 0x1 length 1 C_GetAttributeValue: Copying attribute 0x3 length 11 C_GetAttributeValue(1, 1, 0xbf7ff220, 2) C_GetAttributeValue: Attribute 0x102 length 1 C_GetAttributeValue: Attribute 0x0 length 4 C_GetAttributeValue(1, 1, 0xbf7ff220, 2) C_GetAttributeValue: Copying attribute 0x102 length 1 C_GetAttributeValue: Copying attribute 0x0 length 4 C_FindObjectsInit(1, 0x0xbf7ff220, 2) C_FindObjectsInit: Attribute 0x102 = 42 (length=1) C_FindObjectsInit: Attribute 0x0 = 03000000 (length=4) C_FindObjectsInit(): Object 2 matches search criteria C_FindObjects(1, 0xbf7ff1e0, 1, 0xbf7ff1d8) C_FindObjects: returning 1 matching objects C_FindObjectsFinal(1) C_GetAttributeValue(2, 1, 0xbf7ff220, 2) C_GetAttributeValue: Attribute 0x102 length 1 C_GetAttributeValue: Attribute 0x0 length 4 C_GetAttributeValue(2, 1, 0xbf7ff220, 2) C_GetAttributeValue: Copying attribute 0x102 length 1 C_GetAttributeValue: Copying attribute 0x0 length 4 C_FindObjectsInit(2, 0x0xbf7ff220, 2) C_FindObjectsInit: Attribute 0x102 = 43 (length=1) C_FindObjectsInit: Attribute 0x0 = 03000000 (length=4) C_FindObjectsInit(): Object 2 matches search criteria C_FindObjects(2, 0xbf7ff1e0, 1, 0xbf7ff1d8) C_FindObjects: returning 1 matching objects C_FindObjectsFinal(2) C_GetAttributeValue(1, 1, 0xbf7ff160, 2) C_GetAttributeValue: Attribute 0x102 length 1 C_GetAttributeValue: Attribute 0x0 length 4 C_GetAttributeValue(1, 1, 0xbf7ff160, 2) C_GetAttributeValue: Copying attribute 0x102 length 1 C_GetAttributeValue: Copying attribute 0x0 length 4 C_FindObjectsInit(1, 0x0xbf7ff160, 2) C_FindObjectsInit: Attribute 0x102 = 42 (length=1) C_FindObjectsInit: Attribute 0x0 = 03000000 (length=4) C_FindObjectsInit(): Object 2 matches search criteria C_FindObjects(1, 0xbf7ff120, 1, 0xbf7ff118) C_FindObjects: returning 1 matching objects C_FindObjectsFinal(1) C_GetAttributeValue(2, 1, 0xbf7ff160, 2) C_GetAttributeValue: Attribute 0x102 length 1 C_GetAttributeValue: Attribute 0x0 length 4 C_GetAttributeValue(2, 1, 0xbf7ff160, 2) C_GetAttributeValue: Copying attribute 0x102 length 1 C_GetAttributeValue: Copying attribute 0x0 length 4 C_FindObjectsInit(2, 0x0xbf7ff160, 2) C_FindObjectsInit: Attribute 0x102 = 43 (length=1) C_FindObjectsInit: Attribute 0x0 = 03000000 (length=4) C_FindObjectsInit(): Object 2 matches search criteria C_FindObjects(2, 0xbf7ff120, 1, 0xbf7ff118) C_FindObjects: returning 1 matching objects C_FindObjectsFinal(2) C_GetAttributeValue(2, 1, 0xbf7ff1f0, 2) C_GetAttributeValue: Attribute 0x102 length 1 C_GetAttributeValue: Attribute 0x0 length 4 C_GetAttributeValue(2, 1, 0xbf7ff1f0, 2) C_GetAttributeValue: Copying attribute 0x102 length 1 C_GetAttributeValue: Copying attribute 0x0 length 4 C_FindObjectsInit(2, 0x0xbf7ff1f0, 2) C_FindObjectsInit: Attribute 0x102 = 43 (length=1) C_FindObjectsInit: Attribute 0x0 = 03000000 (length=4) C_FindObjectsInit(): Object 2 matches search criteria C_FindObjects(2, 0xbf7ff1b0, 1, 0xbf7ff1a8) C_FindObjects: returning 1 matching objects C_FindObjectsFinal(2)
