Thanks, that patch works for me.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Mar 24 2024
Mar 23 2024
Mar 22 2024
Mar 21 2024
And we should also use timestamps for each signed file so that we don't need to re-sign all of them over and over during build process tweaking.
Fixed in master.
Mar 20 2024
Mar 19 2024
The reset was due to running gpg-connect-agent reset /bye. I am currently testing something elese will get back as soon as I can turn back to 2.4
Note that this has also been ported to 2.4 and 2.2 and tested by looking at the status lines.
There are two locks here; (1) rw_lock for card_top (list of cards) access and (2) individual card lock.
It looks for me that:
- don't know how/what the thread 7208.2 does
- the thread 7208.3: KEYINFO, then PKSIGN (gets read lock for card_top, then, individual card lock)
- the thread 7208.4: SERIALNO --all (and wait for write lock for card_top)
Mar 18 2024
Mar 14 2024
Thanks for reporting this. Returning error codes to upper layers is not always easy because the original logic is that we have a global error counter to decide whether an operation succeeded. My fix to check the error code before emitting the DECRYPTION_OKAY status,
Mar 13 2024
handle_plaintext gets data returned by iobuf_read, and does not check the error status of the iobuf object.
But only if you can figure out in a transaction or locked sytate whether the card needs a verify. Otherwise we have a race between changing the PIN and verifying a PIN.
This rejection could be relaxed.
Mar 12 2024
needs to be fixed soon. But we don't have a tag for Gpg4win 5 or whatever we call a kf6 based gpg4win.
Mar 11 2024
It could have been discussed whether this makes sense. However, we can't change it anymore because it would change the behaviour. Consider a cron job which looks into a directory with keyids and imports them from a keyserver. It is totally fine if the script returns success if no keys are available.
Mar 10 2024
There is no way to recover it?
See T7034
Sorry, this is not a help line but a bug tracker. If you lost or forgot your password you are screwed up.
Mar 9 2024
Mar 8 2024
I have also not found a straightforward way to correct a cross-signature that was made with a weak digest algorithm using GnuPG.
Mar 7 2024
Mar 6 2024
I've sent you an email about it. It might have html elements due to markdown-here.
Sorry, for not following up earlier. Can you please do me a favor and run the last tests again, this time adding -v and --debug 1 to the invocation? Feel free to forward the output to my private address is that is easier (wk at gnupg.org).
Mar 4 2024
How to test:
Thank you!
Applied to both (master and 1.10 branch).
Mar 1 2024
Looks good to me. __CLOBBER_CC is needed as PA-RISC has carry/borrow bits in status register for add/sub instructions.
In 2.4 we have rG1383aa475 which does
Pushed the change in: rGf50c543326c2: agent: Allow simple KEYINFO command when restricted.
Apply the change in: rPTH417abd56fd7b: Fix INSERT_EXPOSE_RWLOCK_API for musl C library.
It looks like hardware problem or card reader problem.
Please test with debug-ccid-driver line in scdaemon.conf to see lower-lever (driver debug) message.
Since I don't like to introduce hppa specific workaround in a way like pragma (and I have no time to fix compiler itself), I tried to improve the ec-nist.c for hppa so that register pressure can be lower.
Here is my solution.
Feb 29 2024
Hi, I agree with Andrea's idea
The logs of the failed run contain the following:
2024-02-29 15:12:09 scdaemon[20881] DBG: enter: apdu_get_status: slot=0 hang=0 2024-02-29 15:12:09 scdaemon[20881] DBG: leave: apdu_get_status => sw=0x1000c status=0 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_7 -> S DEVINFO_STATUS removal 2024-02-29 15:12:09 scdaemon[20881] DBG: Removal of a card: 0 2024-02-29 15:12:09 scdaemon[20881] DBG: enter: apdu_close_reader: slot=0 2024-02-29 15:12:09 scdaemon[20881] DBG: enter: apdu_disconnect: slot=0 2024-02-29 15:12:09 scdaemon[20881] DBG: leave: apdu_disconnect => sw=0x0
For comparison, the logs when it doesn't fail:
2024-02-29 15:08:33 scdaemon[20536] handler for fd 13 started 2024-02-29 15:08:33 scdaemon[20536] DBG: chan_13 -> OK GNU Privacy Guard's Smartcard server ready 2024-02-29 15:08:33 scdaemon[20536] DBG: chan_13 <- SERIALNO --all 2024-02-29 15:08:33 scdaemon[20536] DBG: apdu_open_reader: BAI=60900 2024-02-29 15:08:33 scdaemon[20536] DBG: apdu_open_reader: new device=60900 2024-02-29 15:08:33 scdaemon[20536] ccid open error: skip 2024-02-29 15:08:33 scdaemon[20536] DBG: apdu_open_reader: BAI=60a00 2024-02-29 15:08:33 scdaemon[20536] DBG: apdu_open_reader: new device=60a00 2024-02-29 15:08:34 scdaemon[20536] reader slot 0: using ccid driver 2024-02-29 15:08:34 scdaemon[20536] slot 0: ATR=3bbf96008131fe5d00640411030131c073f701d00090007d 2024-02-29 15:08:34 scdaemon[20536] DBG: enter: apdu_connect: slot=0 2024-02-29 15:08:34 scdaemon[20536] DBG: leave: apdu_connect => sw=0x0 2024-02-29 15:08:36 scdaemon[20536] Detected NKS version: 3 2024-02-29 15:08:36 scdaemon[20536] DBG: apdu_open_reader: BAI=40200 2024-02-29 15:08:36 scdaemon[20536] DBG: apdu_open_reader: new device=40200 2024-02-29 15:08:36 scdaemon[20536] ccid open error: skip 2024-02-29 15:08:36 scdaemon[20536] DBG: enter: apdu_get_status: slot=0 hang=0 2024-02-29 15:08:36 scdaemon[20536] DBG: leave: apdu_get_status => sw=0x0 status=7 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_7 -> S DEVINFO_STATUS new 2024-02-29 15:08:36 scdaemon[20536] DBG: enter: apdu_get_status: slot=0 hang=0 2024-02-29 15:08:36 scdaemon[20536] DBG: leave: apdu_get_status => sw=0x0 status=7 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_7 -> S DEVINFO_START 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_7 -> S DEVICE generic 89490173300026616520 nks 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_7 -> S DEVINFO_END 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> S SERIALNO 89490173300026616520 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 <- GETINFO all_active_apps 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> S SERIALNO 89490173300026616520 nks 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 <- SWITCHCARD 89490173300026616520 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> S SERIALNO 89490173300026616520 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 <- SWITCHAPP nks 2024-02-29 15:08:36 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> S SERIALNO 89490173300026616520 nks 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 <- GETATTR $SIGNKEYID 2024-02-29 15:08:36 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:36 scdaemon[20536] DBG: slot 0 app nks: calling getattr($SIGNKEYID) 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> S $SIGNKEYID NKS-NKS3.4531 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 <- GETATTR $ENCRKEYID 2024-02-29 15:08:36 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:36 scdaemon[20536] DBG: slot 0 app nks: calling getattr($ENCRKEYID) 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> S $ENCRKEYID NKS-NKS3.45B1 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 <- GETATTR NKS-VERSION 2024-02-29 15:08:36 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:36 scdaemon[20536] DBG: slot 0 app nks: calling getattr(NKS-VERSION) 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> S NKS-VERSION 3 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 <- GETATTR $DISPSERIALNO 2024-02-29 15:08:36 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:36 scdaemon[20536] DBG: slot 0 app nks: calling getattr($DISPSERIALNO) 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> S $DISPSERIALNO 8949017330002661652 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:36 scdaemon[20536] DBG: chan_13 <- GETATTR CHV-STATUS 2024-02-29 15:08:36 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:36 scdaemon[20536] DBG: slot 0 app nks: calling getattr(CHV-STATUS) 2024-02-29 15:08:36 scdaemon[20536] nks: switching to SigG 2024-02-29 15:08:37 scdaemon[20536] DBG: chan_13 -> S CHV-STATUS 3+0+3+0 2024-02-29 15:08:37 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:37 scdaemon[20536] DBG: chan_13 <- LEARN --force 2024-02-29 15:08:37 scdaemon[20536] DBG: chan_13 -> S READER 04E6:E003:51271834208013:0 2024-02-29 15:08:37 scdaemon[20536] DBG: chan_13 -> S SERIALNO 89490173300026616520 2024-02-29 15:08:37 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:37 scdaemon[20536] DBG: chan_13 -> S APPTYPE nks 2024-02-29 15:08:37 scdaemon[20536] DBG: chan_13 -> S APPVERSION 3 2024-02-29 15:08:37 scdaemon[20536] nks: switching to NKS 2024-02-29 15:08:38 scdaemon[20536] nks: switching to SigG 2024-02-29 15:08:39 scdaemon[20536] DBG: chan_13 -> S CHV-STATUS 3+0+3+0 2024-02-29 15:08:39 scdaemon[20536] nks: switching to NKS 2024-02-29 15:08:40 scdaemon[20536] DBG: chan_13 -> S KEYPAIRINFO 39400430E38BB96F105B740A7119FE113578B59D NKS-NKS3.4531 sa - rsa2048 2024-02-29 15:08:40 scdaemon[20536] DBG: chan_13 -> S CERTINFO 101 NKS-NKS3.C000 2024-02-29 15:08:40 scdaemon[20536] error selecting FID 0x4331: No such file or directory 2024-02-29 15:08:40 scdaemon[20536] error selecting FID 0x4332: No such file or directory 2024-02-29 15:08:40 scdaemon[20536] DBG: chan_13 -> S CERTINFO 110 NKS-NKS3.B000 2024-02-29 15:08:41 scdaemon[20536] DBG: chan_13 -> S KEYPAIRINFO 42C3CA6F9D7A725A59DDE06B16B61E88C62777C4 NKS-NKS3.45B1 e - rsa2048 2024-02-29 15:08:41 scdaemon[20536] DBG: chan_13 -> S CERTINFO 101 NKS-NKS3.C200 2024-02-29 15:08:41 scdaemon[20536] error selecting FID 0x43B1: No such file or directory 2024-02-29 15:08:41 scdaemon[20536] error selecting FID 0x43B2: No such file or directory 2024-02-29 15:08:41 scdaemon[20536] DBG: chan_13 -> S KEYPAIRINFO 20E7CB1D5299669CABF29B103C692AB34CB03528 NKS-NKS3.45B2 e - rsa1024 2024-02-29 15:08:41 scdaemon[20536] DBG: chan_13 -> S CERTINFO 101 NKS-NKS3.C201 2024-02-29 15:08:41 scdaemon[20536] nks: switching to SigG 2024-02-29 15:08:42 scdaemon[20536] DBG: chan_13 -> S KEYPAIRINFO A69B0D3796EE33E4426E5CE4B6BEEE5F1209FBA4 NKS-SIGG.4531 se - rsa2048 2024-02-29 15:08:42 scdaemon[20536] DBG: chan_13 -> S CERTINFO 101 NKS-SIGG.C000 2024-02-29 15:08:42 scdaemon[20536] data at FID 0xC008 does not look like a certificate 2024-02-29 15:08:42 scdaemon[20536] data at FID 0xC00E does not look like a certificate 2024-02-29 15:08:42 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:42 scdaemon[20536] DBG: chan_13 <- GETATTR SERIALNO 2024-02-29 15:08:42 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:42 scdaemon[20536] DBG: chan_13 -> S SERIALNO 89490173300026616520 2024-02-29 15:08:42 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:42 scdaemon[20536] DBG: chan_13 <- READKEY -- NKS-NKS3.4531 2024-02-29 15:08:42 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=NKS-NKS3.4531 2024-02-29 15:08:42 scdaemon[20536] DBG: slot 0 app nks: calling readkey(NKS-NKS3.4531) 2024-02-29 15:08:42 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=NKS-NKS3.4531 2024-02-29 15:08:42 scdaemon[20536] DBG: slot 0 app nks: calling readcert(NKS-NKS3.4531) 2024-02-29 15:08:42 scdaemon[20536] nks: switching to NKS 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 -> [ 44 20 28 31 30 3a 70 75 62 6c 69 63 2d 6b 65 79 ...(291 byte(s) skipped) ] 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 <- GETATTR $DISPSERIALNO 39400430E38BB96F105B740A7119FE113578B59D 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0, app nks: calling with_keygrip(lookup) 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0 app nks: calling getattr($DISPSERIALNO) 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 -> S $DISPSERIALNO 8949017330002661652 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 <- GETATTR SERIALNO 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 -> S SERIALNO 89490173300026616520 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 <- READKEY -- NKS-NKS3.45B1 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=NKS-NKS3.45B1 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0 app nks: calling readkey(NKS-NKS3.45B1) 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=NKS-NKS3.45B1 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0 app nks: calling readcert(NKS-NKS3.45B1) 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 -> [ 44 20 28 31 30 3a 70 75 62 6c 69 63 2d 6b 65 79 ...(293 byte(s) skipped) ] 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 <- GETATTR $DISPSERIALNO 42C3CA6F9D7A725A59DDE06B16B61E88C62777C4 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0, app nks: calling with_keygrip(lookup) 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0 app nks: calling getattr($DISPSERIALNO) 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 -> S $DISPSERIALNO 8949017330002661652 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 <- GETATTR SERIALNO 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 -> S SERIALNO 89490173300026616520 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:44 scdaemon[20536] DBG: chan_13 <- READKEY -- NKS-NKS3.45B2 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=NKS-NKS3.45B2 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0 app nks: calling readkey(NKS-NKS3.45B2) 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=NKS-NKS3.45B2 2024-02-29 15:08:44 scdaemon[20536] DBG: slot 0 app nks: calling readcert(NKS-NKS3.45B2) 2024-02-29 15:08:45 scdaemon[20536] DBG: chan_13 -> [ 44 20 28 31 30 3a 70 75 62 6c 69 63 2d 6b 65 79 ...(157 byte(s) skipped) ] 2024-02-29 15:08:45 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:45 scdaemon[20536] DBG: chan_13 <- GETATTR $DISPSERIALNO 20E7CB1D5299669CABF29B103C692AB34CB03528 2024-02-29 15:08:45 scdaemon[20536] DBG: slot 0, app nks: calling with_keygrip(lookup) 2024-02-29 15:08:45 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:45 scdaemon[20536] DBG: slot 0 app nks: calling getattr($DISPSERIALNO) 2024-02-29 15:08:45 scdaemon[20536] DBG: chan_13 -> S $DISPSERIALNO 8949017330002661652 2024-02-29 15:08:45 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:45 scdaemon[20536] DBG: chan_13 <- GETATTR SERIALNO 2024-02-29 15:08:45 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:45 scdaemon[20536] DBG: chan_13 -> S SERIALNO 89490173300026616520 2024-02-29 15:08:45 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:45 scdaemon[20536] DBG: chan_13 <- READKEY -- NKS-SIGG.4531 2024-02-29 15:08:45 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=NKS-SIGG.4531 2024-02-29 15:08:45 scdaemon[20536] DBG: slot 0 app nks: calling readkey(NKS-SIGG.4531) 2024-02-29 15:08:45 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=NKS-SIGG.4531 2024-02-29 15:08:45 scdaemon[20536] DBG: slot 0 app nks: calling readcert(NKS-SIGG.4531) 2024-02-29 15:08:45 scdaemon[20536] nks: switching to SigG 2024-02-29 15:08:47 scdaemon[20536] DBG: chan_13 -> [ 44 20 28 31 30 3a 70 75 62 6c 69 63 2d 6b 65 79 ...(293 byte(s) skipped) ] 2024-02-29 15:08:47 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:47 scdaemon[20536] DBG: chan_13 <- GETATTR $DISPSERIALNO A69B0D3796EE33E4426E5CE4B6BEEE5F1209FBA4 2024-02-29 15:08:47 scdaemon[20536] DBG: slot 0, app nks: calling with_keygrip(lookup) 2024-02-29 15:08:47 scdaemon[20536] nks: switching to NKS 2024-02-29 15:08:48 scdaemon[20536] nks: switching to SigG 2024-02-29 15:08:49 scdaemon[20536] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:08:49 scdaemon[20536] DBG: slot 0 app nks: calling getattr($DISPSERIALNO) 2024-02-29 15:08:49 scdaemon[20536] nks: switching to NKS 2024-02-29 15:08:50 scdaemon[20536] DBG: chan_13 -> S $DISPSERIALNO 8949017330002661652 2024-02-29 15:08:50 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:50 scdaemon[20536] DBG: chan_13 <- GETINFO all_active_apps 2024-02-29 15:08:50 scdaemon[20536] DBG: chan_13 -> S SERIALNO 89490173300026616520 nks 2024-02-29 15:08:50 scdaemon[20536] DBG: chan_13 -> OK 2024-02-29 15:08:50 scdaemon[20536] DBG: chan_13 <- BYE 2024-02-29 15:08:50 scdaemon[20536] DBG: chan_13 -> OK closing connection 2024-02-29 15:08:50 scdaemon[20536] handler for fd 13 terminated
Here are logs with debug ipc,app,reader:
2024-02-29 15:12:07 scdaemon[20881] handler for fd 13 started 2024-02-29 15:12:07 scdaemon[20881] DBG: chan_13 -> OK GNU Privacy Guard's Smartcard server ready 2024-02-29 15:12:07 scdaemon[20881] DBG: chan_13 <- SERIALNO --all 2024-02-29 15:12:07 scdaemon[20881] DBG: apdu_open_reader: BAI=60900 2024-02-29 15:12:07 scdaemon[20881] DBG: apdu_open_reader: new device=60900 2024-02-29 15:12:07 scdaemon[20881] ccid open error: skip 2024-02-29 15:12:07 scdaemon[20881] DBG: apdu_open_reader: BAI=60a00 2024-02-29 15:12:07 scdaemon[20881] DBG: apdu_open_reader: new device=60a00 2024-02-29 15:12:08 scdaemon[20881] reader slot 0: using ccid driver 2024-02-29 15:12:08 scdaemon[20881] slot 0: ATR=3bbf96008131fe5d00640411030131c073f701d00090007d 2024-02-29 15:12:08 scdaemon[20881] DBG: enter: apdu_connect: slot=0 2024-02-29 15:12:08 scdaemon[20881] DBG: leave: apdu_connect => sw=0x0 2024-02-29 15:12:09 scdaemon[20881] Detected NKS version: 3 2024-02-29 15:12:09 scdaemon[20881] DBG: apdu_open_reader: BAI=40200 2024-02-29 15:12:09 scdaemon[20881] DBG: apdu_open_reader: new device=40200 2024-02-29 15:12:09 scdaemon[20881] ccid open error: skip 2024-02-29 15:12:09 scdaemon[20881] DBG: enter: apdu_get_status: slot=0 hang=0 2024-02-29 15:12:09 scdaemon[20881] DBG: leave: apdu_get_status => sw=0x0 status=7 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_7 -> S DEVINFO_STATUS new 2024-02-29 15:12:09 scdaemon[20881] DBG: enter: apdu_get_status: slot=0 hang=0 2024-02-29 15:12:09 scdaemon[20881] DBG: leave: apdu_get_status => sw=0x0 status=7 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_7 -> S DEVINFO_START 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_7 -> S DEVICE generic 89490173300026616520 nks 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_7 -> S DEVINFO_END 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> S SERIALNO 89490173300026616520 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> OK 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 <- GETINFO all_active_apps 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> S SERIALNO 89490173300026616520 nks 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> OK 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 <- SWITCHCARD 89490173300026616520 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> S SERIALNO 89490173300026616520 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> OK 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 <- SWITCHAPP nks 2024-02-29 15:12:09 scdaemon[20881] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> S SERIALNO 89490173300026616520 nks 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> OK 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 <- GETATTR $SIGNKEYID 2024-02-29 15:12:09 scdaemon[20881] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:12:09 scdaemon[20881] DBG: slot 0 app nks: calling getattr($SIGNKEYID) 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> S $SIGNKEYID NKS-NKS3.4531 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> OK 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 <- GETATTR $ENCRKEYID 2024-02-29 15:12:09 scdaemon[20881] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:12:09 scdaemon[20881] DBG: slot 0 app nks: calling getattr($ENCRKEYID) 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> S $ENCRKEYID NKS-NKS3.45B1 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> OK 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 <- GETATTR NKS-VERSION 2024-02-29 15:12:09 scdaemon[20881] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:12:09 scdaemon[20881] DBG: slot 0 app nks: calling getattr(NKS-VERSION) 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> S NKS-VERSION 3 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> OK 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 <- GETATTR $DISPSERIALNO 2024-02-29 15:12:09 scdaemon[20881] DBG: slot 0: have=nks want=nks keyref=[none] 2024-02-29 15:12:09 scdaemon[20881] DBG: slot 0 app nks: calling getattr($DISPSERIALNO) 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> S $DISPSERIALNO 8949017330002661652 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> OK 2024-02-29 15:12:09 scdaemon[20881] DBG: enter: apdu_get_status: slot=0 hang=0 2024-02-29 15:12:09 scdaemon[20881] DBG: leave: apdu_get_status => sw=0x1000c status=0 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_7 -> S DEVINFO_STATUS removal 2024-02-29 15:12:09 scdaemon[20881] DBG: Removal of a card: 0 2024-02-29 15:12:09 scdaemon[20881] DBG: enter: apdu_close_reader: slot=0 2024-02-29 15:12:09 scdaemon[20881] DBG: enter: apdu_disconnect: slot=0 2024-02-29 15:12:09 scdaemon[20881] DBG: leave: apdu_disconnect => sw=0x0 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 <- GETATTR CHV-STATUS 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> ERR 100663406 Card removed <SCD> 2024-02-29 15:12:09 scdaemon[20881] DBG: leave: apdu_close_reader => 0x0 (close_reader) 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_7 -> S DEVINFO_START 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_7 -> S DEVINFO_END 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 <- GETINFO all_active_apps 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> ERR 100663408 Card not present <SCD> 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 <- BYE 2024-02-29 15:12:09 scdaemon[20881] DBG: chan_13 -> OK closing connection 2024-02-29 15:12:09 scdaemon[20881] handler for fd 13 terminated
Andre said instead of removing "more documentation" for Gpg4win, he'd like to put links to relevant documentation there, e.g. the gpg manual.
@gniibe Thank you very much! That works.
No, thank you both for the speedy responses :)
@thesamesam Thank you for the report.
Thanks a lot for your quick testing.
The commit rGff42ed0d69bb: gpg: Enhance agent_probe_secret_key to return bigger value. of GnuPG 2.2 introduced this bug.
Alternatively (more narrow workaround), when I add a line:
#pragma GCC optimize("O1")
before the function _gcry_mpi_ec_nist256_mod in mpi/ec-nist.c, it works for me on panama.debian.net (Debian porterbox for hppa).
Ah, thanks Werner, I'll keep that in mind.
This seems to have regressed musl support, per https://bugs.gentoo.org/925443.
Fixed in libksba 1.6.6.
Fixed in npth 1.7.
Feb 28 2024
No, hardware barrier is not needed here. Compiler barrier is used here to prevent optimization removing mask generation and usage in following constant-time code.
Clarification from Dave:
Thanks, I can confirm that this patch fixes the issue. I'll let Sam decide if this is how we want to handle it downstream or wait for confirmation from gcc.
Although I don't think this is the case here one should be aware that tests mail fail due to global configuration of GnuPG (/etc/gnupg/*.conf). There is no easy way so solve this except for running a per-test local installation of GnuPG using the gpgconf.ctl feature.
You can get more information by applying a patch below (and also tests/json/Makefile.in):
diff --git a/tests/json/Makefile.am b/tests/json/Makefile.am index 90fba79e..7523bb6b 100644 --- a/tests/json/Makefile.am +++ b/tests/json/Makefile.am @@ -106,6 +106,8 @@ gpg-agent.conf: # a key from a smartcard reader (error might be: Unusable secret key) echo pinentry-program $(abs_srcdir)/../gpg/pinentry > ./gpg-agent.conf echo disable-scdaemon >> ./gpg-agent.conf + echo debug-all >> ./gpg-agent.conf + echo log-file /tmp/gpg-agent-logfile.log >> ./gpg-agent.conf
T4820 is not related (it's a failure of t-keylist-secret in t-json), while this is failure of t-decrypt.
It looks like computation for NIST P-256 failed on hppa (32-bit big-endian, actually running on 64-bit machine, IIUC).
powerpc is similar (32-bit big-endian, actually running on 64-bit machine), but no failures.