Bouncy Castle Cryptography Library 1.37

org.bouncycastle.ocsp
Class OCSPReq

java.lang.Object
  extended by org.bouncycastle.ocsp.OCSPReq
All Implemented Interfaces:
java.security.cert.X509Extension

public class OCSPReq
extends java.lang.Object
implements java.security.cert.X509Extension

 OCSPRequest     ::=     SEQUENCE {
       tbsRequest                  TBSRequest,
       optionalSignature   [0]     EXPLICIT Signature OPTIONAL }

   TBSRequest      ::=     SEQUENCE {
       version             [0]     EXPLICIT Version DEFAULT v1,
       requestorName       [1]     EXPLICIT GeneralName OPTIONAL,
       requestList                 SEQUENCE OF Request,
       requestExtensions   [2]     EXPLICIT Extensions OPTIONAL }

   Signature       ::=     SEQUENCE {
       signatureAlgorithm      AlgorithmIdentifier,
       signature               BIT STRING,
       certs               [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL}

   Version         ::=             INTEGER  {  v1(0) }

   Request         ::=     SEQUENCE {
       reqCert                     CertID,
       singleRequestExtensions     [0] EXPLICIT Extensions OPTIONAL }

   CertID          ::=     SEQUENCE {
       hashAlgorithm       AlgorithmIdentifier,
       issuerNameHash      OCTET STRING, -- Hash of Issuer's DN
       issuerKeyHash       OCTET STRING, -- Hash of Issuers public key
       serialNumber        CertificateSerialNumber }
 


Constructor Summary
OCSPReq(byte[] req)
           
OCSPReq(java.io.InputStream in)
           
OCSPReq(OCSPRequest req)
           
 
Method Summary
 java.security.cert.CertStore getCertificates(java.lang.String type, java.lang.String provider)
          If the request is signed return a possibly empty CertStore containing the certificates in the request.
 java.security.cert.X509Certificate[] getCerts(java.lang.String provider)
           
 java.util.Set getCriticalExtensionOIDs()
           
 byte[] getEncoded()
          return the ASN.1 encoded representation of this object.
 byte[] getExtensionValue(java.lang.String oid)
           
 java.util.Set getNonCriticalExtensionOIDs()
           
 X509Extensions getRequestExtensions()
           
 Req[] getRequestList()
           
 GeneralName getRequestorName()
           
 byte[] getSignature()
           
 java.lang.String getSignatureAlgOID()
          return the object identifier representing the signature algorithm
 byte[] getTBSRequest()
          Return the DER encoding of the tbsRequest field.
 int getVersion()
           
 boolean hasUnsupportedCriticalExtension()
          RFC 2650 doesn't specify any critical extensions so we return true if any are encountered.
 boolean isSigned()
          Return whether or not this request is signed.
 boolean verify(java.security.PublicKey key, java.lang.String sigProvider)
          verify the signature against the TBSRequest object we contain.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OCSPReq

public OCSPReq(OCSPRequest req)

OCSPReq

public OCSPReq(byte[] req)
        throws java.io.IOException
Throws:
java.io.IOException

OCSPReq

public OCSPReq(java.io.InputStream in)
        throws java.io.IOException
Throws:
java.io.IOException
Method Detail

getTBSRequest

public byte[] getTBSRequest()
                     throws OCSPException
Return the DER encoding of the tbsRequest field.

Returns:
DER encoding of tbsRequest
Throws:
OCSPException - in the event of an encoding error.

getVersion

public int getVersion()

getRequestorName

public GeneralName getRequestorName()

getRequestList

public Req[] getRequestList()

getRequestExtensions

public X509Extensions getRequestExtensions()

getSignatureAlgOID

public java.lang.String getSignatureAlgOID()
return the object identifier representing the signature algorithm


getSignature

public byte[] getSignature()

getCerts

public java.security.cert.X509Certificate[] getCerts(java.lang.String provider)
                                              throws OCSPException,
                                                     java.security.NoSuchProviderException
Throws:
OCSPException
java.security.NoSuchProviderException

getCertificates

public java.security.cert.CertStore getCertificates(java.lang.String type,
                                                    java.lang.String provider)
                                             throws java.security.NoSuchAlgorithmException,
                                                    java.security.NoSuchProviderException,
                                                    OCSPException
If the request is signed return a possibly empty CertStore containing the certificates in the request. If the request is not signed the method returns null.

Parameters:
type - type of CertStore to return
provider - provider to use
Returns:
null if not signed, a CertStore otherwise
Throws:
java.security.NoSuchAlgorithmException
java.security.NoSuchProviderException
OCSPException

isSigned

public boolean isSigned()
Return whether or not this request is signed.

Returns:
true if signed false otherwise.

verify

public boolean verify(java.security.PublicKey key,
                      java.lang.String sigProvider)
               throws OCSPException,
                      java.security.NoSuchProviderException
verify the signature against the TBSRequest object we contain.

Throws:
OCSPException
java.security.NoSuchProviderException

getEncoded

public byte[] getEncoded()
                  throws java.io.IOException
return the ASN.1 encoded representation of this object.

Throws:
java.io.IOException

hasUnsupportedCriticalExtension

public boolean hasUnsupportedCriticalExtension()
RFC 2650 doesn't specify any critical extensions so we return true if any are encountered.

Specified by:
hasUnsupportedCriticalExtension in interface java.security.cert.X509Extension
Returns:
true if any critical extensions are present.

getCriticalExtensionOIDs

public java.util.Set getCriticalExtensionOIDs()
Specified by:
getCriticalExtensionOIDs in interface java.security.cert.X509Extension

getNonCriticalExtensionOIDs

public java.util.Set getNonCriticalExtensionOIDs()
Specified by:
getNonCriticalExtensionOIDs in interface java.security.cert.X509Extension

getExtensionValue

public byte[] getExtensionValue(java.lang.String oid)
Specified by:
getExtensionValue in interface java.security.cert.X509Extension

Bouncy Castle Cryptography Library 1.37