On Fri, 28 Oct 2022 22:04:39 GMT, Weijun Wang <wei...@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: > > same for DerEncoder::derEncode > > only in patch2: > unchanged: A few minor comments. src/java.base/share/classes/sun/security/pkcs10/PKCS10Attribute.java line 110: > 108: * @exception IOException on encoding errors. > 109: */ > 110: public void derEncode(DerOutputStream out) throws IOException { Add @Override src/java.base/share/classes/sun/security/pkcs10/PKCS10Attributes.java line 96: > 94: * @exception IOException on encoding errors. > 95: */ > 96: public void encode(DerOutputStream out) throws IOException { Add @Override src/java.base/share/classes/sun/security/x509/CertAttrSet.java line 67: > 65: * @exception IOException on other errors. > 66: */ > 67: void encode(DerOutputStream out) A bit of a nit, but on line 62, change `OutputStream` to `DerOutputStream` since it is referring to a type. Check the javadoc of all other classes for the same change. ------------- PR: https://git.openjdk.org/jdk/pull/10906