RFR: 8246797: A convenient method to read OPTIONAL element [v2]

Valerie Peng valeriep at openjdk.java.net
Tue Aug 24 17:50:32 UTC 2021

On Tue, 24 Aug 2021 14:24:00 GMT, Weijun Wang <weijun at openjdk.org> wrote:

>> This code change adds new methods to `DerInputStream` to easily and safely read optional fields in a ASN.1 DER-encoded value. It also adds several wrapping methods to `DerValue` to avoid unnecessary memory copying when calling by an internal method.
>> The new methods are applied to `OAEPParameters` to show out how they work. A new regression test is added to show that not only the new methods are simper but they are safer and more correct.
> Weijun Wang has updated the pull request incrementally with one additional commit since the last revision:
>   best practice for reading DEFAULT, switch expression, etc

src/java.base/share/classes/sun/security/util/DerInputStream.java line 352:

> 350:      * @throws IOException if an I/O error happens while peeking the byte
> 351:      */
> 352:     public boolean seeOptionalContextSpecific(int n) throws IOException {

Given the two getOptionalXXXContextSpecific(int) method, do we really need this to be public? Same goes for the two checkNextTag(...) methods above.


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

More information about the security-dev mailing list