Record Class PEMRecord
java.lang.Object
java.lang.Record
java.security.PEMRecord
- Record Components:
type- the type identifier in the PEM header without PEM syntax labels. For a public key,typewould be "PUBLIC KEY".content- the Base64-encoded data, excluding the PEM header and footerleadingData- any non-PEM data preceding the PEM header when decoding.
- All Implemented Interfaces:
DEREncodablePREVIEW
public record PEMRecord(String type, String content, byte[] leadingData)
extends Record
implements DEREncodablePREVIEW
PEMRecord is a preview API of the Java platform.
Preview features may be removed in a future release, or upgraded to permanent features of the Java platform.
PEMRecord is a DEREncodablePREVIEW that represents Privacy-Enhanced
Mail (PEM) data by its type and Base64 form. PEMDecoderPREVIEW and
PEMEncoderPREVIEW use PEMRecord when representing the data as a
cryptographic object is not desired or the type has no
DEREncodable.
type and content may not be null.
leadingData may be null if no non-PEM data preceded PEM header
during decoding. leadingData may be useful for reading metadata
that accompanies PEM data.
No validation is performed during instantiation to ensure that
type conforms to RFC 7468, that content is valid
Base64, or that content matches the type.
leadingData is not defensively copied and does not return a
clone when leadingData() is called.
- Since:
- 25
- External Specifications
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncontent()Returns the value of thecontentrecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.byte[]Returns the value of theleadingDatarecord component.toString()Returns the type and Base64 encoding in PEM format.type()Returns the value of thetyperecord component.
-
Constructor Details
-
PEMRecord
Creates aPEMRecordinstance with the given parameters.- Parameters:
type- the type identifiercontent- the Base64-encoded data, excluding the PEM header and footerleadingData- any non-PEM data read during the decoding process before the PEM header. This value maybenull.- Throws:
IllegalArgumentException- iftypeis incorrectly formatted.NullPointerException- iftypeand/orcontentarenull.
-
PEMRecord
Creates aPEMRecordinstance with a giventypeandcontentdata in String form.leadingDatais set to null.- Parameters:
type- the PEM type identifiercontent- the Base64-encoded data, excluding the PEM header and footer- Throws:
IllegalArgumentException- iftypeis incorrectly formatted.NullPointerException- iftypeand/orcontentarenull.
-
-
Method Details
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
type
-
content
-
leadingData
public byte[] leadingData()Returns the value of theleadingDatarecord component.- Returns:
- the value of the
leadingDatarecord component
-
PEMRecordwhen preview features are enabled.