Package com.google.api.client.util
Class PemReader
- java.lang.Object
-
- com.google.api.client.util.PemReader
-
@Beta public final class PemReader extends java.lang.Object
Beta
PEM file reader.Supports reading any PEM stream that contains Base64 encoded content stored inside
"-----BEGIN ...-----"and"-----END ...-----"tags. Each call toreadNextSection()parses the next section in the PEM file. If you need a section of a certain title usereadNextSection(String), for examplereadNextSection("PRIVATE KEY"). To ensure that the stream is closed properly, callclose()in a finally block.As a convenience, use
readFirstSectionAndClose(Reader)orreadFirstSectionAndClose(Reader, String)for the common case of only a single section in a PEM file (or only a single section of a given title).Limitations:
- Assumes the PEM file section content is not encrypted and cannot handle the case of any headers inside the BEGIN and END tag.
- It also ignores any attributes associated with any PEM file section.
- Since:
- 1.14
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPemReader.SectionSection in the PEM file.
-
Field Summary
Fields Modifier and Type Field Description private static java.util.regex.PatternBEGIN_PATTERNprivate static java.util.regex.PatternEND_PATTERNprivate java.io.BufferedReaderreaderReader.
-
Constructor Summary
Constructors Constructor Description PemReader(java.io.Reader reader)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Closes the reader.static PemReader.SectionreadFirstSectionAndClose(java.io.Reader reader)Reads the first section in the PEM file, and then closes the reader.static PemReader.SectionreadFirstSectionAndClose(java.io.Reader reader, java.lang.String titleToLookFor)Reads the first section in the PEM file, optionally based on a title to look for, and then closes the reader.PemReader.SectionreadNextSection()Reads the next section in the PEM file ornullfor end of file.PemReader.SectionreadNextSection(java.lang.String titleToLookFor)Reads the next section in the PEM file, optionally based on a title to look for.
-
-
-
Method Detail
-
readNextSection
public PemReader.Section readNextSection() throws java.io.IOException
Reads the next section in the PEM file ornullfor end of file.- Throws:
java.io.IOException
-
readNextSection
public PemReader.Section readNextSection(java.lang.String titleToLookFor) throws java.io.IOException
Reads the next section in the PEM file, optionally based on a title to look for.- Parameters:
titleToLookFor- title to look for ornullfor any title- Returns:
- next section or
nullfor end of file - Throws:
java.io.IOException
-
readFirstSectionAndClose
public static PemReader.Section readFirstSectionAndClose(java.io.Reader reader) throws java.io.IOException
Reads the first section in the PEM file, and then closes the reader.- Parameters:
reader- reader- Returns:
- first section found or
nullfor none found - Throws:
java.io.IOException
-
readFirstSectionAndClose
public static PemReader.Section readFirstSectionAndClose(java.io.Reader reader, java.lang.String titleToLookFor) throws java.io.IOException
Reads the first section in the PEM file, optionally based on a title to look for, and then closes the reader.- Parameters:
titleToLookFor- title to look for ornullfor any titlereader- reader- Returns:
- first section found or
nullfor none found - Throws:
java.io.IOException
-
close
public void close() throws java.io.IOExceptionCloses the reader.To ensure that the stream is closed properly, call
close()in a finally block.- Throws:
java.io.IOException
-
-