RFR: 8249783: Simplify DerValue and DerInputStream [v3]

Valerie Peng valeriep at openjdk.java.net
Wed Sep 30 22:58:34 UTC 2020


On Tue, 29 Sep 2020 15:20:24 GMT, Weijun Wang <weijun at openjdk.org> wrote:

>> This code change rewrites DerValue into a mostly immutable class and simplifies DerInputStream as a wrapper for a
>> series of DerValues objects. DerInputBuffer is removed.
>> All existing methods of DerValue and DerInputStream should still work with the exact same behavior, except for a few
>> places where bugs are fixed. For example, Indefinite length must be used with a constructed tag.
>> Except for the ObjectIdentifier class where DerInputBuffer is directly referenced, no other code is touched.
>
> Weijun Wang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev
> excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since
> the last revision:
>  - 8249783: Simplify DerValue and DerInputStream
>  - Merge remote-tracking branch 'origin/master' into 8249783
>  - Enhance DerValue::getOctetString to be able to read multi-level constructed value.
>  - 8249783: Simplify DerValue and DerInputStream

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

> 240:         if ((tmp & 0x080) == 0x00) { // short form, 1 byte datum
> 241:             value = tmp;
> 242:         } else {                     // long form or indefinite

Can't be indefinite here given the new check (line 233-235 above?) Move the indefinite comment upward?

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

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



More information about the security-dev mailing list