--
You received this message because you are subscribed to the Google Groups "golang-openpgp" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-openpg...@googlegroups.com.
To post to this group, send email to golang-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-openpgp/CA%2B2K_KoNvR1XL4gJ%3DigJyFeNKwkRDPzJTyZzB%3DRBBnza-quZOQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
That being said, I see a little bit of a hen-and-egg problem here with anyone willing and able to put in the work: I assume potential new maintainers need to show a little bit of a track record in their contributions to the package - and without consistent current maintainership, it's difficult to build that track record. What are your plans/ideas in that regard?
Do we know if the owners of existing forks are already on this list?
--
You received this message because you are subscribed to the Google Groups "golang-openpgp" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-openpg...@googlegroups.com.
To post to this group, send email to golang-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-openpgp/6fb7146b-6daa-4c95-9e5a-573e2deafd8a%40googlegroups.com.
Being a gpg user in general and the openpgp package, I wouldn't mind contributing with reviews and code to x/crypto/openpgp or whatever the import path it'll end up being.I often contribute to x/crypto/acme packages as dd...@google.com and have +2 access.
On Mon, 1 Apr 2019 at 20:34, Filippo Valsorda <fil...@golang.org> wrote:
On Saturday, March 16, 2019 at 6:34:44 PM UTC-4, Axel Wagner wrote:--That being said, I see a little bit of a hen-and-egg problem here with anyone willing and able to put in the work: I assume potential new maintainers need to show a little bit of a track record in their contributions to the package - and without consistent current maintainership, it's difficult to build that track record. What are your plans/ideas in that regard?Yeah, we definitely don't want to cause a deadlock. As long as someone is willing to take up maintainership, there are many things we can look at besides past work on golang.org/x/crypto/openpgp: work done on other openpgp forks, work done elsewhere in the Go project, work done elsewhere in the Go community. If someone already has +2 access, for example, they totally can start code reviewing openpgp patches, ideally starting from ones without API implications and coordinating here.Formal cryptography education is not at all a requirement, nor is being up to date with the latest papers—OpenPGP is from the 90ies after all!Do we know if the owners of existing forks are already on this list?I have not systematically reached out. If you or anyone wants to loop them in before I find time to, it would definitely be useful.Thank you,Filippo
You received this message because you are subscribed to the Google Groups "golang-openpgp" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-openpgp+unsubscribe@googlegroups.com.
To post to this group, send email to golang-openpgp@googlegroups.com.
On Tuesday, April 2, 2019 at 4:48:26 PM UTC-4, Alex Vaghin wrote:Being a gpg user in general and the openpgp package, I wouldn't mind contributing with reviews and code to x/crypto/openpgp or whatever the import path it'll end up being.I often contribute to x/crypto/acme packages as dd...@google.com and have +2 access.Please feel free to start reviewing and submitting any changes without API impact. For changes to the API, please work with the requester and/or this list to figure out a proposal with a focus on sustainability and misuse resistance, and then ping me on its GitHub issue, for now.If you wish, you can also add yourself to the owners of the package so you'll get notified on new issues and CLs. https://github.com/golang/build/blob/master/devapp/owners/table.goI would still like for someone to try and reach out to the maintainers of the forks (cc'ing this list). x/crypto/openpgp would be most useful if it becomes the place where all the previously uncoordinated efforts converge.
Thank you,FilippoOn Mon, 1 Apr 2019 at 20:34, Filippo Valsorda <fil...@golang.org> wrote:On Saturday, March 16, 2019 at 6:34:44 PM UTC-4, Axel Wagner wrote:That being said, I see a little bit of a hen-and-egg problem here with anyone willing and able to put in the work: I assume potential new maintainers need to show a little bit of a track record in their contributions to the package - and without consistent current maintainership, it's difficult to build that track record. What are your plans/ideas in that regard?Yeah, we definitely don't want to cause a deadlock. As long as someone is willing to take up maintainership, there are many things we can look at besides past work on golang.org/x/crypto/openpgp: work done on other openpgp forks, work done elsewhere in the Go project, work done elsewhere in the Go community. If someone already has +2 access, for example, they totally can start code reviewing openpgp patches, ideally starting from ones without API implications and coordinating here.Formal cryptography education is not at all a requirement, nor is being up to date with the latest papers—OpenPGP is from the 90ies after all!Do we know if the owners of existing forks are already on this list?I have not systematically reached out. If you or anyone wants to loop them in before I find time to, it would definitely be useful.Thank you,Filippo
--You received this message because you are subscribed to the Google Groups "golang-openpgp" group.To unsubscribe from this group and stop receiving emails from it, send an email to golang-openpgp+unsubscribe@googlegroups.com.To post to this group, send email to golang-openpgp@googlegroups.com.To view this discussion on the web visit https://groups.google.com/d/msgid/golang-openpgp/6fb7146b-6daa-4c95-9e5a-573e2deafd8a%40googlegroups.com.For more options, visit https://groups.google.com/d/optout.
--You received this message because you are subscribed to the Google Groups "golang-openpgp" group.
To unsubscribe from this group and stop receiving emails from it, send an email to golang-openpg...@googlegroups.com.To post to this group, send email to golang-...@googlegroups.com.To view this discussion on the web visit https://groups.google.com/d/msgid/golang-openpgp/d64f10fd-eea6-49d1-b445-d865242e9f15%40googlegroups.com.
--You received this message because you are subscribed to the Google Groups "golang-openpgp" group.To unsubscribe from this group and stop receiving emails from it, send an email to golang-openpg...@googlegroups.com.To post to this group, send email to golang-...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/golang-openpgp/CA%2B2K_KoNvR1XL4gJ%3DigJyFeNKwkRDPzJTyZzB%3DRBBnza-quZOQ%40mail.gmail.com.
Thanks for reaching out. We (ProtonMail) are potentially interested in helping maintain x/crypto/openpgp – we agree it'd be good to centralize efforts, and we're obviously committed to keeping a maintained and secure package, in fact we've recently had a security audit done on it by SEC Consult (as I believe you've seen, Filippo).
We have some questions about the process to get there, though. We don't have the bandwidth to maintain both mainline and our fork simultaneously. We'd be happy to make PRs for our changes so far, molding any API changes, code style, and commit messages to fit mainline's standards (since our fork has so far mostly been for our own use, we haven't really made an effort for that so far). However, to be very frank, the effort of doing so would not be worth it for us if, after discussion on each of them, 75% get merged and we still end up having to maintain a fork. I'd also understand though if you don't want to hand out blanket access right away – in that case perhaps we could start with having a discussion here about both the specific changes we've made so far and the general direction of changes in the future, to make sure we're on the same page before we dive into a merge? If you'd like I could summarize and talk a bit more about those here to kick that off. Alternatively or additionally, if you have any other ideas about what the process would look like, we'd also love to hear about those.
It'd be very helpful if you could summarize the changes you've made and want to make.
The package should stay as minimal as possible while being useful
- Add higher-level function to verify clearsigned messages, in order to be able to verify that the algorithm mentioned in the header matches the algorithm used in the signature (one of the findings of the audit)Let me know if you have any questions or concerns about these :)The last one allows me to segue into future changes/more generally maintainership philosophy. Filippo, you said thatThe package should stay as minimal as possible while being usefulWe agree that minimizing API surface = minimizing bug count = good, but on the other hand, having too low-level APIs, and forcing applications to fill in the details, can itself lead to security vulnerabilities. The clearsigned messages thing is not a perfect example of this, but an example nonetheless. Where does your opinion fall on adding APIs like that?
Hi!It'd be very helpful if you could summarize the changes you've made and want to make.Alrighty :) Here's a list of things we've done so far:- Expand ECC support, as you mentioned
- Bump default and minimum S2K parameters- Default to AES128 and SHA256 instead of CAST5 and RIPEMD160 for keys without preferred algorithms, as required by rfc4880bis-06 (rfc4880 required 3DES and SHA1)- Disallow generating RSA keys of less than 1024 bits (recommended by the audit)
- Fix and move Signature.KeyExpired to PublicKey.KeyExpired; add Signature.SigExpired (https://github.com/golang/go/issues/22312)
- Detect expired signatures; though leaving it up to the caller whether they want to reject them
- Use latest-created valid self-signature instead of the last-appearing one; don't drop other self-signatures when re-serializing the key
- Add higher-level function to verify clearsigned messages, in order to be able to verify that the algorithm mentioned in the header matches the algorithm used in the signature (one of the findings of the audit)
Let me know if you have any questions or concerns about these :)
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Monday May 13 2019 19:14, Filippo Valsorda <fil...@golang.org> wrote:Agreed that there is a tradeoff there. In general, the most common the operation is, the more high-level the API for it should be.Specifically around clearsigned messages, I disagree that the Hash header serves any security purpose (or any purpose at all in our implementation, really), so I don't see validating it something worth influencing API design over.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday May 15 2019 18:03, Simon Ser <con...@emersion.fr> wrote:Did you add anything about revocation signatures?
What is the motivation behind "leaving it up to the caller whether they want to reject them"?
- Add higher-level function to verify clearsigned messages, in order to be able to verify that the algorithm mentioned in the header matches the algorithm used in the signature (one of the findings of the audit)Can you elaborate on this one?