On Mon, 21 Oct 2024 19:52:36 GMT, Anthony Scarpino <ascarp...@openjdk.org> wrote:
>> Hi all, >> >> I need a code review of the PEM API. Privacy-Enhanced Mail (PEM) is a >> format for encoding and decoding cryptographic keys and certificates. It >> will be integrated into JDK24 as a Preview Feature. Preview features does >> not permanently define the API and it is subject to change in future >> releases until it is finalized. >> >> Details about this change can be seen at [PEM API >> JEP](https://bugs.openjdk.org/browse/JDK-8300911). >> >> Thanks >> >> Tony > > Anthony Scarpino has updated the pull request incrementally with one > additional commit since the last revision: > > apparently <p> can't be before a @implNote.. Who know. Comments for `PEMDecoder`. src/java.base/share/classes/java/security/PEMDecoder.java line 231: > 229: * algorithm-specific operations, or {@code X509EncodedKeySpec} if > the > 230: * X.509 binary encoding is desired instead of a Key object. An > IOException > 231: * will be thrown if the class is incorrect for the given PEM data. There is no IOE in this method. src/java.base/share/classes/java/security/PEMDecoder.java line 282: > 280: } > 281: > 282: DEREncodable so = decode(pem); The line above could throw IOE. Shall we wrap it in an IAE? src/java.base/share/classes/java/security/PEMDecoder.java line 358: > 356: > 357: /** > 358: * Configures and returns a new {@code PEMDecoder} instance from the Are you going to be more specific on what kind of factories will be involved? src/java.base/share/classes/java/security/PEMDecoder.java line 361: > 359: * current instance that will use Factory classes from the specified > 360: * {@link Provider}. Any errors using the {@code provider} will > occur > 361: * during decoding. Do you mean errors will happen during decoding? Do you want to be clear on what exceptions will be thrown? src/java.base/share/classes/java/security/PEMDecoder.java line 367: > 365: * > 366: * @param provider the Factory provider. > 367: * @return a new PEM decoder instance. The return spec for this method and the next one should be using a consistent wording. ------------- PR Review: https://git.openjdk.org/jdk/pull/17543#pullrequestreview-2406603002 PR Review Comment: https://git.openjdk.org/jdk/pull/17543#discussion_r1823572147 PR Review Comment: https://git.openjdk.org/jdk/pull/17543#discussion_r1823579945 PR Review Comment: https://git.openjdk.org/jdk/pull/17543#discussion_r1823573986 PR Review Comment: https://git.openjdk.org/jdk/pull/17543#discussion_r1823576032 PR Review Comment: https://git.openjdk.org/jdk/pull/17543#discussion_r1823576439