[MacPorts] #52623: Fails to properly complete operation and disconnect on Sierra

MacPorts noreply at macports.org
Sun Oct 16 04:37:42 CEST 2016


#52623: Fails to properly complete operation and disconnect on Sierra
--------------------+--------------------------------
 Reporter:  uri@…   |      Owner:  macports-tickets@…
     Type:  defect  |     Status:  new
 Priority:  Normal  |  Milestone:
Component:  ports   |    Version:  2.3.4
 Keywords:          |       Port:  p11-kit
--------------------+--------------------------------
 The symptoms are described here:
 [https://github.com/OpenSC/libp11/issues/123]

 The following command hangs up when PKCS11_MODULE_PATH=/opt/local/lib/p11
 -kit-proxy.dylib:
 {{{
 $ openssl dgst -engine pkcs11 -keyform engine -sign
 "pkcs11:manufacturer=piv_II;object=SIGN%20key;type=private" -sha384
 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -out t256.dat.sig
 t256.dat
 engine "pkcs11" set.
 PKCS#11 token PIN:
 ^C      [have to kill this hanging process]
 $ openssl dgst -engine pkcs11 -keyform engine -verify
 "pkcs11:manufacturer=piv_II;object=SIGN%20pubkey;type=public" -sha384
 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:-1 -signature
 t256.dat.sig t256.dat
 engine "pkcs11" set.
 Verified OK
 $
 }}}
 The signature file t256.dat.sig is created, and can be verified (as shown
 above). But signing command does not exit, and has to be killed manually.


 If PKCS11_MODULE_PATH is set to, e.g., /Library/OpenSC/lib/opensc-
 pkcs11.dylib, it completes and exits correctly.

 Running with PKCS11_MODULE_PATH=/Library/OpenSC/lib/pkcs11-spy.dylib and
 PKCS11SPY=/opt/local/lib/p11-kit-proxy.dylib shows that everything seems
 to run fine, up until the very last step C_Finalize where it does not
 return:
 {{{
 . . . . .
 98: C_Sign
 2016-10-15 22:20:29.843
 [in] hSession = 0x11
 [in] pData[ulDataLen] 00007f99c7703cd0 / 256
     00000000  0B 10 33 11 4B 5D 72 30 6C A5 6C 94 4E B6 6C 4A
 ..3.K]r0l.l.N.lJ
     00000010  B3 FE A4 47 6A B4 01 64 01 9F C5 B7 7A 8F 62 10
 ...Gj..d....z.b.
     . . . . .
     000000F0  CA 30 0A D2 70 CC 25 36 AB DE C9 B4 CF 35 46 BC
 .0..p.%6.....5F.
 [out] pSignature[*pulSignatureLen] 00007f99c8002400 / 256
     00000000  6C D9 35 4C AC 1F 91 55 CB 89 5A FC 26 AB 83 0F
 l.5L...U..Z.&...
     00000010  F6 21 37 74 FE 4E 72 55 B7 00 B0 BF D7 84 F3 81
 .!7t.NrU........
     . . . . .
     000000F0  76 E0 1D AF CC EF 32 80 AD E0 5C 38 B2 3E 67 33
 v.....2...\8.>g3
 Returned:  0 CKR_OK

 99: C_CloseAllSessions
 2016-10-15 22:20:30.517
 [in] slotID = 0x10
 Returned:  0 CKR_OK

 100: C_CloseAllSessions
 2016-10-15 22:20:30.517
 [in] slotID = 0x11
 Returned:  0 CKR_OK

 101: C_CloseAllSessions
 2016-10-15 22:20:30.517
 [in] slotID = 0x12
 Returned:  0 CKR_OK

 102: C_CloseAllSessions
 2016-10-15 22:20:30.517
 [in] slotID = 0x13
 Returned:  0 CKR_OK

 103: C_CloseAllSessions
 2016-10-15 22:20:30.517
 [in] slotID = 0x14
 Returned:  0 CKR_OK

 104: C_CloseAllSessions
 2016-10-15 22:20:30.517
 [in] slotID = 0x15
 Returned:  0 CKR_OK

 105: C_CloseAllSessions
 2016-10-15 22:20:30.517
 [in] slotID = 0x16
 Returned:  0 CKR_OK

 106: C_Finalize
 2016-10-15 22:20:30.517
 ^C
 $
 }}}
 It appears to be seeing and trying to work with many more token slots than
 I seem to have/use.


 Here's what C_Finalize looks like if the above is invoked with
 PKCS11SPY=/Library/OpenSC/lib/opensc-pkcs11.dylib:
 {{{
 . . . . .
 87: C_Sign
 2016-10-13 10:30:37.731
 [in] hSession = 0x7fdbb3004e00
 [in] pData[ulDataLen] 00007fdbb160be30 / 256
     00000000  19 C7 12 37 09 18 52 8A 8B B1 53 ED B7 B3 7D A6
 ...7..R...S...}.
     00000010  AC 2D CA 07 AF 57 26 14 6F 1C 45 93 B5 76 6F 7C
 .-...W&.o.E..vo|
     . . . . .
     000000F0  0B 4A 57 A9 32 86 BD 35 C9 76 EB C5 AD 81 80 BC
 .JW.2..5.v......
 [out] pSignature[*pulSignatureLen] 00007fdbb2801000 / 256
     00000000  74 08 82 C2 1A A6 46 ED BF 50 80 EB DB C9 49 8C
 t.....F..P....I.
     00000010  53 42 3A 01 ED A1 E4 E3 8C 7A F4 E7 C2 4D 08 13
 SB:......z...M..
     . . . . .
     000000F0  FF BD 28 CD E3 37 C8 8D 2C 78 FC C6 88 F3 71 9E
 ..(..7..,x....q.
 Returned:  0 CKR_OK

 88: C_CloseAllSessions
 2016-10-13 10:30:38.402
 [in] slotID = 0x0
 Returned:  224 CKR_TOKEN_NOT_PRESENT

 89: C_CloseAllSessions
 2016-10-13 10:30:38.403
 [in] slotID = 0x4
 Returned:  0 CKR_OK

 90: C_Finalize
 2016-10-13 10:30:38.403
 Returned:  0 CKR_OK
 $
 }}}


 If any logs would be of help, I'd be happy to provide.

-- 
Ticket URL: <https://trac.macports.org/ticket/52623>
MacPorts <https://www.macports.org/>
Ports system for the Mac operating system



More information about the macports-tickets mailing list