RFR: 8298420: PEM API: Implementation (Preview) [v2]
Anthony Scarpino
ascarpino at openjdk.org
Mon Jul 29 15:11:48 UTC 2024
On Tue, 23 Jul 2024 21:14:54 GMT, Anthony Scarpino <ascarpino at openjdk.org> wrote:
>> src/java.base/share/classes/sun/security/util/Pem.java line 93:
>>
>>> 91:
>>> 92: public static final byte[] LINESEPARATOR = "\r\n"
>>> 93: .getBytes(StandardCharsets.UTF_8);
>>
>> These arrays should probably be marked as [`@Stable`]:
>> Suggestion:
>>
>> /**
>> * Public Key PEM header & footer
>> */
>> public static final @Stable byte[] PUBHEADER = "-----BEGIN PUBLIC KEY-----"
>> .getBytes(StandardCharsets.UTF_8);
>> public static final @Stable byte[] PUBFOOTER = "-----END PUBLIC KEY-----"
>> .getBytes(StandardCharsets.UTF_8);
>>
>> /**
>> * Private Key PEM header & footer
>> */
>> public static final @Stable byte[] PKCS8HEADER = "-----BEGIN PRIVATE KEY-----"
>> .getBytes(StandardCharsets.UTF_8);
>> public static final @Stable byte[] PKCS8FOOTER = "-----END PRIVATE KEY-----"
>> .getBytes(StandardCharsets.UTF_8);
>>
>> /**
>> * Encrypted Private Key PEM header & footer
>> */
>> public static final @Stable byte[] PKCS8ENCHEADER = "-----BEGIN ENCRYPTED PRIVATE KEY-----"
>> .getBytes(StandardCharsets.UTF_8);
>> public static final @Stable byte[] PKCS8ENCFOOTER = "-----END ENCRYPTED PRIVATE KEY-----"
>> .getBytes(StandardCharsets.UTF_8);
>>
>> /**
>> * Certificate PEM header & footer
>> */
>> public static final @Stable byte[] CERTHEADER = "-----BEGIN CERTIFICATE-----"
>> .getBytes(StandardCharsets.UTF_8);
>> public static final @Stable byte[] CERTFOOTER = "-----END CERTIFICATE-----"
>> .getBytes(StandardCharsets.UTF_8);
>>
>> /**
>> * CRL PEM header & footer
>> */
>> public static final @Stable byte[] CRLHEADER = "-----BEGIN CRL-----"
>> .getBytes(StandardCharsets.UTF_8);
>> public static final @Stable byte[] CRLFOOTER = "-----END CRL-----"
>> .getBytes(StandardCharsets.UTF_8);
>>
>> /**
>> * PKCS#1/slleay/OpenSSL RSA PEM header & footer
>> */
>> public static final @Stable byte[] PKCS1HEADER = "-----BEGIN RSA PRIVATE KEY-----"
>> .getBytes(StandardCharsets.UTF_8);
>> public static final @Stable byte[] PKCS1FOOTER = "-----END RSA PRIVATE KEY-----"
>> .getBytes(StandardCharsets.UTF_8);
>>
>> public static final @Stable byte[] LINESEPARATOR = "\r\n"
>> .getBytes(StandardCharsets.UTF_8);
>>
>>
>> [`@Stable`]: https://github.com/openjdk/jdk/blob/master/src/java.base/share/classes/jdk/internal/vm/annotation/Stable.java
>
> I have not seen `@Stable` before. I will have to evaluate this suggestion further
Much of these got remove in an update
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17543#discussion_r1695406817
More information about the security-dev
mailing list