On Tue, 22 Oct 2024 00:46:41 GMT, Anthony Scarpino <ascarp...@openjdk.org> 
wrote:

> > This JEP is misnamed. The RFC clearly says
> > ```
> >    For reasons that basically boil down to non-coordination or
> >    inattention, many PKIX, PKCS, and CMS libraries implement a text-
> >    based encoding that is similar to -- but not identical with -- PEM
> >    encoding. 
> > ...
> > Unlike legacy PEM encoding 
> > [[RFC1421](https://www.rfc-editor.org/rfc/rfc1421)], OpenPGP ASCII armor, 
> > and the
> >    OpenSSH key file format, textual encoding does *not* define or permit
> >    headers to be encoded alongside the data.  Empty space can appear
> >    between the pre-encapsulation boundary and the base64, but generators
> >    SHOULD NOT emit such any such spacing.  (The provision for this empty
> >    area is a throwback to PEM, which defined an "encapsulated header
> >    portion".)
> > ```
> > 
> > 
> >     
> >       
> >     
> > 
> >       
> >     
> > 
> >     
> >   
> > So this RFC is clearly not PEM and this JEP shouldn't be named as such, 
> > hence class names neither.
> 
> PEM has evolved over time as the RFC states, but that doesn't change that PEM 
> is the established term for this textual format. RFC1421 was not added to the 
> JEP because it does not need to explain the history. To quote the whole 
> paragraph:
> 
> ```
> The tradition within the RFC series can be traced back to Privacy-
> Enhanced Mail (PEM) [[RFC1421](https://www.rfc-editor.org/rfc/rfc1421)],
>  based on a proposal by Marshall Rose in Message Encapsulation 
> [[RFC934](https://www.rfc-editor.org/rfc/rfc934)].  Originally called 
> "PEM encapsulation mechanism", "encapsulated PEM message", or 
> (arguably) "PEM printable encoding", today the format is sometimes 
> referred to as "PEM encoding".  Variations include OpenPGP ASCII 
> armor [[RFC4880](https://www.rfc-editor.org/rfc/rfc4880)] and 
> OpenSSH key file format [[RFC4716](https://www.rfc-editor.org/rfc/rfc4716)].
> ```
> 
> The JEP is clear that PKCS#8 and X.509 are supported. Other variations could 
> be added to the PEM API in the future or by a different API.
> 
> OpenSSL use the "PEM" for `-inform`, `-outform`, and many other examples. 
> BouncyCastle has PEMReader, PEMWriter, and PEMParser. Even wikipedia states 
> that "[The PEM format was eventually formalized by the IETF in RFC 
> 7468](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail)". The Java API 
> using a different term would lead to unnecessary confusion.

I happily accept your explanation, thanks for taking the time to dive into!

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

PR Comment: https://git.openjdk.org/jdk/pull/17543#issuecomment-2470904654

Reply via email to