On Wed, 9 Nov 2022 21:54:49 GMT, Weijun Wang <wei...@openjdk.org> wrote:
> One `PKCS9Attribute` can be created but cannot be encoded. Since the > `SigningCertificateInfo::parse` method has not fully parsed the data > (`PolicyInformation` is left out), this code change add the encoding itself > as a field to the `SigningCertificateInfo` class so we can encode it. > > After this change, unsupported `PKCSAttribute` object simply cannot be > created. The `new(DerValue)` constructor rejects them (type 9-13, 15) in a > `switch` block, and the `new(ObjectIdentifier, Object)` constructor rejects > them because `VALUE_CLASSES` for them are null. > > In the `encode()` method, we now throw `IllegalArgumentException` for these > types and they will not happen. New commit. I also put `ESSCertId` as an inner class. Having 2 top level classes in the same file feel weird. ------------- PR: https://git.openjdk.org/jdk/pull/11070