Bouncy Castle Cryptography Library 1.79

org.bouncycastle.openssl
Class PEMParser

java.lang.Object
  |
  +--java.io.Reader
        |
        +--java.io.BufferedReader
              |
              +--org.bouncycastle.util.io.pem.PemReader
                    |
                    +--org.bouncycastle.openssl.PEMParser

public class PEMParser
extends org.bouncycastle.util.io.pem.PemReader

Class for parsing OpenSSL PEM encoded streams containing X509 certificates, PKCS8 encoded keys and PKCS7 objects.

In the case of PKCS7 objects the reader will return a CMS ContentInfo object. Public keys will be returned as well formed SubjectPublicKeyInfo objects, private keys will be returned as well formed PrivateKeyInfo objects. In the case of a private key a PEMKeyPair will normally be returned if the encoding contains both the private and public key definition. CRLs, Certificates, PKCS#10 requests, and Attribute Certificates will generate the appropriate BC holder class.


Field Summary
protected  java.util.Map parsers
           
static java.lang.String TYPE_ATTRIBUTE_CERTIFICATE
           
static java.lang.String TYPE_CERTIFICATE
           
static java.lang.String TYPE_CERTIFICATE_REQUEST
           
static java.lang.String TYPE_CMS
           
static java.lang.String TYPE_DSA_PRIVATE_KEY
           
static java.lang.String TYPE_EC_PARAMETERS
           
static java.lang.String TYPE_EC_PRIVATE_KEY
           
static java.lang.String TYPE_ENCRYPTED_PRIVATE_KEY
           
static java.lang.String TYPE_NEW_CERTIFICATE_REQUEST
           
static java.lang.String TYPE_PKCS7
           
static java.lang.String TYPE_PRIVATE_KEY
           
static java.lang.String TYPE_PUBLIC_KEY
           
static java.lang.String TYPE_RSA_PRIVATE_KEY
           
static java.lang.String TYPE_RSA_PUBLIC_KEY
           
static java.lang.String TYPE_TRUSTED_CERTIFICATE
           
static java.lang.String TYPE_X509_CERTIFICATE
           
static java.lang.String TYPE_X509_CRL
           
 
Fields inherited from class org.bouncycastle.util.io.pem.PemReader
LAX_PEM_PARSING_SYSTEM_PROPERTY_NAME
 
Fields inherited from class java.io.Reader
lock
 
Constructor Summary
PEMParser(java.io.Reader reader)
          Create a new PEMReader
 
Method Summary
 java.util.Set getSupportedTypes()
           
 java.lang.Object readObject()
          Read the next PEM object attempting to interpret the header and create a higher level object from the content.
 
Methods inherited from class org.bouncycastle.util.io.pem.PemReader
readPemObject
 
Methods inherited from class java.io.BufferedReader
close, mark, markSupported, read, read, readLine, ready, reset, skip
 
Methods inherited from class java.io.Reader
read
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TYPE_CERTIFICATE_REQUEST

public static final java.lang.String TYPE_CERTIFICATE_REQUEST

TYPE_NEW_CERTIFICATE_REQUEST

public static final java.lang.String TYPE_NEW_CERTIFICATE_REQUEST

TYPE_CERTIFICATE

public static final java.lang.String TYPE_CERTIFICATE

TYPE_TRUSTED_CERTIFICATE

public static final java.lang.String TYPE_TRUSTED_CERTIFICATE

TYPE_X509_CERTIFICATE

public static final java.lang.String TYPE_X509_CERTIFICATE

TYPE_X509_CRL

public static final java.lang.String TYPE_X509_CRL

TYPE_PKCS7

public static final java.lang.String TYPE_PKCS7

TYPE_CMS

public static final java.lang.String TYPE_CMS

TYPE_ATTRIBUTE_CERTIFICATE

public static final java.lang.String TYPE_ATTRIBUTE_CERTIFICATE

TYPE_EC_PARAMETERS

public static final java.lang.String TYPE_EC_PARAMETERS

TYPE_PUBLIC_KEY

public static final java.lang.String TYPE_PUBLIC_KEY

TYPE_RSA_PUBLIC_KEY

public static final java.lang.String TYPE_RSA_PUBLIC_KEY

TYPE_RSA_PRIVATE_KEY

public static final java.lang.String TYPE_RSA_PRIVATE_KEY

TYPE_DSA_PRIVATE_KEY

public static final java.lang.String TYPE_DSA_PRIVATE_KEY

TYPE_EC_PRIVATE_KEY

public static final java.lang.String TYPE_EC_PRIVATE_KEY

TYPE_ENCRYPTED_PRIVATE_KEY

public static final java.lang.String TYPE_ENCRYPTED_PRIVATE_KEY

TYPE_PRIVATE_KEY

public static final java.lang.String TYPE_PRIVATE_KEY

parsers

protected final java.util.Map parsers
Constructor Detail

PEMParser

public PEMParser(java.io.Reader reader)
Create a new PEMReader
Parameters:
reader - the Reader
Method Detail

readObject

public java.lang.Object readObject()
                            throws java.io.IOException
Read the next PEM object attempting to interpret the header and create a higher level object from the content.
Returns:
the next object in the stream, null if no objects left.
Throws:
java.io.IOException - in case of a parse error.

getSupportedTypes

public java.util.Set getSupportedTypes()
Returns:
set of pem object types that can be parsed
See Also:
PemObject.getType()

Bouncy Castle Cryptography Library 1.79