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,type
would 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 DEREncodable
PREVIEW that represents Privacy-Enhanced
Mail (PEM) data by its type and Base64 form. PEMDecoder
PREVIEW and
PEMEncoder
PREVIEW 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 thecontent
record component.final boolean
Indicates whether some other object is "equal to" this one.final int
hashCode()
Returns a hash code value for this object.byte[]
Returns the value of theleadingData
record component.toString()
Returns the type and Base64 encoding in PEM format.type()
Returns the value of thetype
record component.
-
Constructor Details
-
PEMRecord
Creates aPEMRecord
instance 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
- iftype
is incorrectly formatted.NullPointerException
- iftype
and/orcontent
arenull
.
-
PEMRecord
Creates aPEMRecord
instance with a giventype
andcontent
data in String form.leadingData
is set to null.- Parameters:
type
- the PEM type identifiercontent
- the Base64-encoded data, excluding the PEM header and footer- Throws:
IllegalArgumentException
- iftype
is incorrectly formatted.NullPointerException
- iftype
and/orcontent
arenull
.
-
-
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 theleadingData
record component.- Returns:
- the value of the
leadingData
record component
-
PEMRecord
when preview features are enabled.