RFR: 8296072: CertAttrSet::encode and DerEncoder::derEncode should write into DerOutputStream [v5]

Sean Mullan mullan at openjdk.org
Mon Oct 31 19:58:19 UTC 2022


On Mon, 31 Oct 2022 19:53:32 GMT, Weijun Wang <weijun at openjdk.org> wrote:

>> The argument of the `CertAttrSet::encode` and `DerEncoder::derEncode` interface methods are modified from `OutputStream` to `DerOutputStream`. All implementations are modified the same way.
>> 
>> `OutputStream` is still used by `sun.security.x509.Extension::encode(OutputStream os)` because it's inherited from `java.security.cert.Extension`. The method is now marked final to avoid accidental override.
>> 
>> In `CertificateExtensions` and `CRLExtensions`, only `Extension::encode(DerOutputStream out)` is called. It used to call `CertAttrSet::encode` for a known extension and `Extension::encode(DerOutputStream out)` for an unknown one. This makes sure the overridden `encode` methods in known extensions are always called. Now that they have the same argument, there is no need for this check.
>
> Weijun Wang has updated the pull request incrementally with one additional commit since the last revision:
> 
>   another override and dout

Marked as reviewed by mullan (Reviewer).

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

PR: https://git.openjdk.org/jdk/pull/10906



More information about the security-dev mailing list