I'm aware of the metadata leakage risks of OCSP, and i share your concerns about them.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Advanced Search
Mar 20 2020
Mar 19 2020
OCSP can't be the default because it enables a web bug. The responder immediately sees when a signature is verified or a data is encrypted to a certificate.
If CRLs or OCSP are a MUST in a given profile, and the cert chain has OCSP but no CRL, it seems like that profile should then try OCSP, rather than failing.
Thanks for the quick fix, @werner!
Fixed.
Hello,
Sorry for the late reply but with your help we found a bug in our code and it has been fixed. Thanks for your assistance!
Arggh, this code is a whole mess (e.g. it uses its own logging code). I spent the last week to rework large parts of it for master. I am going to look into this case now.
If you want OCSP you need to enable it. CRLs or OCSP are a MUST under the profile we developed gpgsm. This is why --disable-crl-checks by default is not possible. There are lot of interesting things you will come across if you start to use S/MIME. For example you also need to care about the algorithms used for intermediate certificates used to sign CRLs - they need to comply to the policy as well. Or the rarely used PSS padding we encounter sometimes and which is not supported and will probably not be supported
Okay. Thanks.
You forwarded me an email, which said it went well.
Mar 18 2020
I thought i'd try with other certificates. I started with the one from this website. It also fails to validate unless i supply --disable-crl-checks, apparently because the immediate issuer (the Let's Encrypt CA) doesn't offer CRLs, only OCSP responders. Perhaps --disable-crl-checks should be the default, or at least if there is no CRL available there shouldn't be a failure by default:
Aha, i can get it to say f if i use --disable-crl-checks:
i didn't know that, thanks. i'm now seeing i (which i think means "invalid") in the same configuration:
Add --with-validation to check the validity of a certificate in a listing.
Backported to 2.2
This is closely related to T3465 which was fixed in master. Running a gpg-agent 2.3 agent and using gpg 2.2 it works; however, using a gpg 2.3 bails out with an error message that we are in batch mode. I will look at this.
@gniibe: I am not sure we really continued by mail - do you have any updates on the status?
Sorry, I have not yet followed you test plan but given that we have the patch in master for a long time now I think it is okay to port it to 2.2.
Thanks. I applied your patch to 2.2 and master. I had to do a minor fix because the function does not return anything. Also extended on master with another patch for v5 keys.
The newlines are not percent escaped because that could lead to very long lines and thus break parsers. Another reason is that the error messages are easier to read this way. An empty first field is anyway not valid and parsers should skip that.
I tried to replicate that with my ~3000 keys on master and I don't see any difference. Did you tried it several times? It might be due to the signature verification cache.
I checked the code and your patch looks right. I am going to apply it.
I am not able to replicate my own bug. At least since the introduction of --locate-external-keys the code paths are identical. I am nut sure why I filed this bug.
Mar 16 2020
It is easy to explain:
Mar 13 2020
Mar 12 2020
Mar 9 2020
Yes, i'd surmised that the ::::: lines are continuation lines of the error message. but why not just percent-escape the newline in the error message too? Where in the documentation of this API does it say to expect continuation lines of error messages? Is gpgconf expected to be used programmatically?
Well, I misread the output. What you see is what is expected. From the gpgconf man page:
Mar 6 2020
I think you mean "mix", not "fix". right?
You should not fix stdout with stderr. Granted we could fflush stdout after a line, but rsh is dead and so all software can distinguish between them.
Mar 5 2020
Feb 28 2020
Feb 27 2020
Internally only the long key id is is used thus the fingerprint might give a wrong impression. OTOH, to allow easy migration to future versions, extracting the keyid from the fingerprint is a good idea.
Feb 19 2020
I can confirm that the problem is gone from a build from the master branch. It indeed retries the search.
Feb 17 2020
Fixed in master.
Feb 15 2020
Fixed in master and 2.2
Really interesting: The code didn't changed since since 2003 and the bug must have been there all the time. It does happen only for 25% of the certificates with CR and LF; the others have padding characters at the end '=' which is also an indication of the end of the base64 block. I wonder why this has not been reported more often; maybe because most people import binary certificates.
Feb 10 2020
Building with -fno-common now works for me on 2.2 and master. Thanks for the patch.
Jan 31 2020
Jan 30 2020
We briefly talked in the OpenPGP WG about the u32 problem and agreed that this is not an issue for 2440bis. The mismatch between creation date and expiration period is one of those minor PGP flaws. PGP-2 even used days to specify the expiration period.
Jan 29 2020
This is not a problem for 2107 (when you and i are 6 feet under). it's a problem well before then for anything that has an expiration date of 2107 or later (as demonstrated by the legitimate example certificate here today).
I don't care; encryption won't work for us 6ft under. (This is a protocol problem which someone should address in a couple of decades)
This is a problem for gpgv and gpg as well. gpg reports:
Jan 28 2020
Jan 27 2020
Jan 16 2020
Fixed and backported.
Jan 15 2020
I agree.
Err.. Just removing the check may be the correct fix; It doesn't make sense to limit capability here.
Jan 14 2020
Thank you for resolving this issue! I am successfully using version 2.2.19 from the gnupg (2.2.19-1~bpo10+1) package of Debian Backports.
I think rGe573e6188dad: gpg: Fix --default-key checks. should be fixed as:
diff --git a/g10/getkey.c b/g10/getkey.c index ad5dd8e01..cc908964e 100644 --- a/g10/getkey.c +++ b/g10/getkey.c @@ -1860,7 +1860,8 @@ parse_def_secret_key (ctrl_t ctrl) PKT_public_key *pk = node->pkt->pkt.public_key;
$ export GNUPGHOME=<somewhere> # Create a key with "C"-only capability $ gpg --quick-gen-key "test-user <chuji@gniibe.org>" ed25519 cert # Create another key (or get/import it) $ gpg --quick-gen-key "2020-user <chuji2020@gniibe.org>" ed25519 # Sign with the first key to the second key with --default-key $ gpg --default-key 7694AB44DED1154CEB981059B0B36418AF85C918 --lsign 72FF31542DB059A507BAF81BE05523DEB4B018E6
(where 7694AB...85C918 is the first key and 72FF31..B018E6 is the second key)
rGe573e6188dad: gpg: Fix --default-key checks. is suspicious.
Dec 7 2019
Dec 6 2019
I found a solution for master and 2.1.19 which minimizes the risk of regressions:
Dec 4 2019
Fixed for 2.2.19 and master
Dec 3 2019
Thank you.
I uploaded the certificate files. For a test please do the following:
Nov 29 2019
Nov 27 2019
Sorry, a fix didn't made it into 2.2.18.