iaik.x509.ocsp.extensions
Class AcceptableResponses

java.lang.Object
  |
  +--iaik.x509.V3Extension
        |
        +--iaik.x509.ocsp.extensions.AcceptableResponses

public class AcceptableResponses
extends V3Extension

This class implements the OCSP AcceptableResponses extension.

As with all OCSP extensions, support of the AcceptableResponses extension is optional for client and servers. The critical flag should not be set.

Each OCSP extension is associated with a specific ocsp extension object identifier, derived from RFC 2560:

 id-pkix  OBJECT IDENTIFIER  ::=
        { iso(1) identified-organization(3) dod(6) internet(1)
          security(5) mechanisms(5) pkix(7) }

 id-ad OBJECT IDENTIFIER ::= { id-pkix 48 }       
        -- arc for access descriptors

 id-ad-ocsp      OBJECT IDENTIFIER ::= { id-ad 1 }
 
 id-pkix-ocsp    OBJECT IDENTIFIER ::= { id-ad-ocsp }
 
The object identifier for the AcceptableResponses extension is defined as:
 id-pkix-ocsp--response  OBJECT IDENTIFIER ::= { id-pkix-ocsp 4 }
 
which corresponds to the OID string "1.3.6.1.5.5.7.48.1.4".

The Online Certificate Status Protocol (RFC 2560) specifies the AcceptableResponses extension for allowing an OCSP client to specify the kinds of response types it understands. This extension is included as one of the requestExtensions in requests. The OIDs included in AcceptableResponses are the OIDs of the various response types this client can accept (e.g., id-pkix-ocsp-basic).

ASN.1 definition:

 AcceptableResponses ::= SEQUENCE OF OBJECT IDENTIFIER
 

For adding a AcceptableResponses extension object to a OCSPRequest, use the addExtension method, e.g.:

 ObjectID[] acceptedResponseTypes = { BasicOCSPResponse.responseType };
 AcceptableResponses acceptableResponses = 
    new AcceptableResponses(acceptedResponseTypes);
 ocspRequest.addExtension(AcceptableResponses);
 

Version:
File Revision 9
See Also:
OCSPRequest, V3Extension, X509Extensions

Field Summary
static ObjectID oid
          The object identifier of this AcceptableResponses extension.
 
Fields inherited from class iaik.x509.V3Extension
critical
 
Constructor Summary
AcceptableResponses()
          Default constructor.
AcceptableResponses(ObjectID[] acceptableResponseTypes)
          Creates a AcceptableResponses extensions for the listed acceptable response OIDs.
 
Method Summary
 ObjectID[] getAcceptableResponseTypes()
          Gets the acceptable response type OIDs.
 ObjectID getObjectID()
          Returns the object ID of this AcceptableResponses extension
 int hashCode()
          Returns a hashcode for this identity.
 void init(ASN1Object obj)
          Inits this AcceptableResponses implementation with an ASN1object representing the value of this extension.
 boolean isResponseTypeAcceptable(ObjectID responseType)
          Checks whether the given response type is acceptable or not.
 void setAcceptableResponseTypes(ObjectID[] acceptableResponseTypes)
          Sets the acceptable response OIDs.
 ASN1Object toASN1Object()
          Returns an ASN1Object representing the value of this AcceptableResponses extension.
 String toString()
          Returns a string that represents the contents of this AcceptableResponses extension.
 
Methods inherited from class iaik.x509.V3Extension
getName, isCritical, setCritical
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

oid

public static final ObjectID oid
The object identifier of this AcceptableResponses extension. The corresponding OID string is "1.3.6.1.5.5.7.48.1.4".
Constructor Detail

AcceptableResponses

public AcceptableResponses()
Default constructor. Creates an empty AcceptableResponses object. Use methods setAcceptableResponseTypes for setting the oids of acceptable response types.

AcceptableResponses

public AcceptableResponses(ObjectID[] acceptableResponseTypes)
Creates a AcceptableResponses extensions for the listed acceptable response OIDs.
Parameters:
acceptableResponseTypes - the OIDs of the response types to accept
Method Detail

setAcceptableResponseTypes

public void setAcceptableResponseTypes(ObjectID[] acceptableResponseTypes)
Sets the acceptable response OIDs.
Parameters:
acceptableResponseTypes - the OIDs of the response types to accept

getAcceptableResponseTypes

public ObjectID[] getAcceptableResponseTypes()
Gets the acceptable response type OIDs.
Returns:
the OIDs of accepted response types

isResponseTypeAcceptable

public boolean isResponseTypeAcceptable(ObjectID responseType)
Checks whether the given response type is acceptable or not.
Returns:
true if the response type is acceptable, false if not

getObjectID

public ObjectID getObjectID()
Returns the object ID of this AcceptableResponses extension
Overrides:
getObjectID in class V3Extension
Returns:
the object ID

init

public void init(ASN1Object obj)
          throws X509ExtensionException
Inits this AcceptableResponses implementation with an ASN1object representing the value of this extension.

The given ASN1Object is the one created by toASN1Object().

This method is used by the X509Extensions class when parsing the ASN.1 representation of a OCSP object for properly initializing an included AcceptableResponses extension. This method initializes the extension only with its value, but not with its critical specification. For that reason, this method shall not be explicitly called by an application.

The ASN1Object supplied to this method will reflect the ASN.1 representation of the AcceptableResponses extension value:

 AcceptableResponses ::= SEQUENCE OF OBJECT IDENTIFIER
 
Overrides:
init in class V3Extension
Parameters:
obj - the AcceptableResponses as ASN1Object (SEQUENCE)
Throws:
X509ExtensionException - if the extension cannot be initialized from its ASN1 representation

toASN1Object

public ASN1Object toASN1Object()
Returns an ASN1Object representing the value of this AcceptableResponses extension.

The ASN1Object returned by this method will reflect the+ ASN.1 representation of the AcceptableResponses extension value:

 AcceptableResponses ::= SEQUENCE OF OBJECT IDENTIFIER
 
Overrides:
toASN1Object in class V3Extension
Returns:
the value of this AcceptableResponses as ASN1Object (SEQUENCE)

hashCode

public int hashCode()
Returns a hashcode for this identity.
Overrides:
hashCode in class V3Extension
Returns:
a hash code for this identity

toString

public String toString()
Returns a string that represents the contents of this AcceptableResponses extension.
Overrides:
toString in class Object
Returns:
the string representation

This Javadoc may contain text parts from Internet Standard specifications (RFC 2459, 3280, 3039, 2560, 1521, 821, 822, 2253, 1319, 1321, ,2630, 2631, 2268, 3058, 2984, 2104, 2144, 2040, 2311, 2279, see copyright note) and RSA Data Security Public-Key Cryptography Standards (PKCS#1,3,5,7,8,9,10,12, see copyright note).

IAIK-JCE 3.1 with IAIK-JCE CC Core 3.1, (c) 1997-2004 IAIK