-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clarify requirement 19: ASCII vs. Binary signature #797
Comments
The question should be evaluated for public key files as well. Relevant languages to check would include Java, Rust and Go (according to @tschmidtb51). |
In general: Any additional variant will make a standard a little bit harder to understand, write and read. And several little variants will easily multiply the difficulty. So personally I'd rather allow one variant less unless it is really having a significant advantage. So the burden of proof would be on the proposed enhancement from my perspective. There are two possible advantages for allowing both file formats for signatures and public keys:
CSAF 2.0 documents are in JSON, which is quite verbose. Compared to those documents, the size increase by using ASCII armored signatures and public key file is just a little. So if one format is to be selected, ASCII armored seems to be the better fit with in the CSAF 2.0 family of files. For implementations that find and read CSAF documents, the potential drawback is that they may need to transform the files before processing. In order to find out how implementations behave I focus on the parsing side of the files. The next steps are to check which preferred methods for reading pubkeys and checking signatures are for the different languages. GnuPGAnd elder version of gpg (GnuPG) 2.2.40 (Using GnuPG via the library GPGME is a common method to interact with GnuPG, which is a widespread OpenPGP implementation. It is used by many other programming languages.) Javahttps://gh.pgpainless.org/ or https://www.bouncycastle.org/ TODO RustTODO Gohttps://github.com/ProtonMail/gopenpgp is a common choice if an OpenPGP/LibrePGP library in Go is wanted. Also used by https://github.com/csaf-poc/csaf_distribution. Ease of implementationDoing a documentation level research: especially https://pkg.go.dev/github.com/ProtonMail/gopenpgp/[email protected]/crypto#NewKey So if the general functions are used to begin with, there is no extra |
"requirement 19" is a to me unclear reference. Can we rename the ticket or name the CSAF v2.0 or v2.1 specific target? Thanks. |
It is kind of independent of the version - the requirement is still the same. But I guess, we will focus first on CSAF 2.1 |
I think I was not clear, sorry. My question is, what the relevance of "requirement 19" is, where I can find that ... or if this is some "catalog of requirements" not related to our specification but to some contract or suggested tool. Thanks. |
I'm sorry - my bad: The issue refers to the requirement 19 from section 7.1.19. |
We should clarify whether we expect signatures to be in ASCII or binary format or both should be accepted. Therefore, we need to figure out whether it make a difference for implementers.
The text was updated successfully, but these errors were encountered: