On Wed, 27 Apr 2022 22:54:47 GMT, Valerie Peng <valer...@openjdk.org> wrote:

>> RSASSA-PSS always requires a user-provided params.
>> 
>> I think one thing we can guarantee is that the default/random values 
>> generated by the impl will never overwrite the user-provided ones, they will 
>> only be supplemented. Also, I think the real usage of this method is that 
>> the result -- after converting to a spec -- can be set on the verify side 
>> and the verification should succeed.
>> 
>> I don't quite understand EdDSA. Looks like the params is not stored along 
>> with the signature in the algorithm identifier. I also haven't found 
>> different OIDs defined when prehash or context is used. How does the 
>> verifier know this kind of flavor settings?
>
> Right, the user-supplied values takes precedence and provider-specific 
> default/random values should just be supplemental.
> 
> As for EdDSA, looks like the prehash and context are only in RFC 8032 and NOT 
> RFC 8410.  caller has to pass these settings/values to the other entity 
> through some other means since the getParameters() return null as there is no 
> ASN.1 definition for the parameters. Looks like these values are packaged 
> into a parameter spec and passed into the underlying EdDSA signature 
> implementation in order to fit into existing API without adding new algorithm 
> specific APIs.

So, "the underlying signature implementation supports returning the parameters 
as {@code AlgorithmParameters}" is quite necessary. Xuelei's suggestion is 
quite good, just change the last "and" to "or".

-------------

PR: https://git.openjdk.java.net/jdk/pull/8396

Reply via email to