# Class PEMFile

java.lang.Object
org.apache.tomcat.util.net.jsse.PEMFile

public class PEMFile extends Object
RFC 1421 PEM file containing X509 certificates or private keys.

## Constructor Summary

Constructors
Constructor
Description
`PEMFile(String filename)`
`PEMFile(String filename, InputStream fileStream, String password, String keyAlgorithm)`
`PEMFile(String filename, InputStream fileStream, String password, String passwordFilename, InputStream passwordFileStream, String keyAlgorithm)`
`PEMFile(String filename, String password)`
`PEMFile(String filename, String password, String keyAlgorithm)`
`PEMFile(String filename, String password, String passwordFilename, String keyAlgorithm)`

## Method Summary

Modifier and Type
Method
Description
`List<X509Certificate>`
`getCertificates()`
`PrivateKey`
`getPrivateKey()`
`static String`
`toPEM(X509Certificate certificate)`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### PEMFile

public PEMFile(String filename) throws IOException, GeneralSecurityException

Throws:
  `IOException`
  `GeneralSecurityException`

### PEMFile

public PEMFile(String filename, String password) throws IOException, GeneralSecurityException

Throws:
  `IOException`
  `GeneralSecurityException`

### PEMFile

public PEMFile(String filename, String password, String keyAlgorithm) throws IOException, GeneralSecurityException

Throws:
  `IOException`
  `GeneralSecurityException`

### PEMFile

public PEMFile(String filename, String password, String passwordFilename, String keyAlgorithm) throws IOException, GeneralSecurityException

Throws:
  `IOException`
  `GeneralSecurityException`

### PEMFile

public PEMFile(String filename, InputStream fileStream, String password, String keyAlgorithm) throws IOException, GeneralSecurityException

Throws:
  `IOException`
  `GeneralSecurityException`

### PEMFile

public PEMFile(String filename, InputStream fileStream, String password, String passwordFilename, InputStream passwordFileStream, String keyAlgorithm) throws IOException, GeneralSecurityException

Parameters:
  `filename` - the filename to mention in error messages, not used for anything else.
  `fileStream` - the stream containing the pem(s).
  `password` - password to load the pem objects.
  `passwordFilename` - the password filename to mention in error messages, not used for anything else.
  `passwordFileStream` - stream containing the password to load the pem objects.
  `keyAlgorithm` - the algorithm to help to know how to load the objects (guessed if null).
Throws:
  `IOException` - if input can't be read.
  `GeneralSecurityException` - if input can't be parsed/loaded.

## Method Details

### toPEM

public static String toPEM(X509Certificate certificate) throws CertificateEncodingException

Throws:
  `CertificateEncodingException`

### getCertificates

public List<X509Certificate> getCertificates()

### getPrivateKey

public PrivateKey getPrivateKey()