com.rsa.certj.cert.extensions

Class CRLReference

java.lang.Object
  |
  +--com.rsa.certj.cert.extensions.X509V3Extension
        |
        +--com.rsa.certj.cert.extensions.CRLReference
All Implemented Interfaces:
Cloneable, OCSPSingleExtension, Serializable

public class CRLReference
extends X509V3Extension
implements Cloneable, Serializable, OCSPSingleExtension

This class implements a standard extension, CRL References, used in an OCSP response message as defined in rfc 2560.

Quoted from rfc 2560:

It may be desirable for the OCSP responder to indicate the CRL on which a revoked or onHold certificate is found. This can be useful where OCSP is used between repositories, and also as an auditing mechanism. The CRL may be specified by a URL (the URL at which the CRL is available), a number (CRL number) or a time (the time at which the relevant CRL was created). These extensions will be specified as singleExtensions. The identifier for this extension will be id-pkix-ocsp-crl, while the value will be CrlID.


 id-pkix-ocsp-crl       OBJECT IDENTIFIER ::= { id-pkix-ocsp 3 }

 CrlID ::= SEQUENCE {
    crlUrl               [0]     EXPLICIT IA5String OPTIONAL,
    crlNum               [1]     EXPLICIT INTEGER OPTIONAL,
    crlTime              [2]     EXPLICIT GeneralizedTime OPTIONAL }
 
For the choice crlUrl, the IA5String will specify the URL at which the CRL is available. For crlNum, the INTEGER will specify the value of the CRL number extension of the relevant CRL. For crlTime, the GeneralizedTime will indicate the time at which the relevant CRL was issued.

Copyright © RSA Security Inc., 2001. All rights reserved.

See Also

Serialized Form

Fields inherited from class com.rsa.certj.cert.extensions.X509V3Extension
ARCHIVE_CUTOFF, ARCHIVE_CUTOFF_OID, AUTHORITY_INFO_ACCESS, AUTHORITY_INFO_OID, AUTHORITY_KEY_ID, BASIC_CONSTRAINTS, BIO_INFO, BIO_INFO_OID, CERT_POLICIES, CERTIFICATE_ISSUER, CRL_DISTRIBUTION_POINTS, CRL_NUMBER, CRL_REFERENCE, CRL_REFERENCE_OID, DELTA_CRL_INDICATOR, EXTENDED_KEY_USAGE, HOLD_INSTRUCTION_CODE, INHIBIT_ANY_POLICY, INVALIDITY_DATE, ISSUER_ALT_NAME, ISSUING_DISTRIBUTION_POINT, KEY_USAGE, NAME_CONSTRAINTS, NETSCAPE_BASE_URL, NETSCAPE_BASE_URL_OID, NETSCAPE_CA_POLICY_URL, NETSCAPE_CA_POLICY_URL_OID, NETSCAPE_CA_REVOCATION_URL, NETSCAPE_CA_REVOCATION_URL_OID, NETSCAPE_CERT_RENEWAL_URL, NETSCAPE_CERT_RENEWAL_URL_OID, NETSCAPE_CERT_TYPE, NETSCAPE_CERT_TYPE_OID, NETSCAPE_COMMENT, NETSCAPE_COMMENT_OID, NETSCAPE_REVOCATION_URL, NETSCAPE_REVOCATION_URL_OID, NETSCAPE_SSL_SERVER_NAME, NETSCAPE_SSL_SERVER_NAME_OID, NON_STANDARD_EXTENSION, OCSP_ACCEPTABLE_RESPONSES, OCSP_ACCEPTABLE_RESPONSES_OID, OCSP_NOCHECK, OCSP_NOCHECK_OID, OCSP_NONCE, OCSP_NONCE_OID, OCSP_SERVICE_LOCATOR, OCSP_SERVICE_LOCATOR_OID, POLICY_CONSTRAINTS, POLICY_MAPPINGS, PRIVATE_KEY_USAGE_PERIOD, QC_STATEMENTS, QC_STATEMENTS_OID, REASON_CODE, SUBJECT_ALT_NAME, SUBJECT_DIRECTORY_ATTRIBUTES, SUBJECT_KEY_ID, VERISIGN_CZAG, VERISIGN_CZAG_OID, VERISIGN_FIDELITY_ID, VERISIGN_FIDELITY_ID_OID, VERISIGN_JURISDICTION_HASH, VERISIGN_JURISDICTION_HASH_OID, VERISIGN_NETSCAPE_INBOX_V1, VERISIGN_NETSCAPE_INBOX_V1_OID, VERISIGN_NETSCAPE_INBOX_V2, VERISIGN_NETSCAPE_INBOX_V2_OID, VERISIGN_NON_VERIFIED, VERISIGN_NON_VERIFIED_OID, VERISIGN_SERIAL_NUMBER, VERISIGN_SERIAL_NUMBER_OID, VERISIGN_TOKEN_TYPE, VERISIGN_TOKEN_TYPE_OID
 

Constructor Summary

CRLReference()

Constructs an empty CRLReference object.

CRLReference(String crlUrl, byte[] crlNum, int crlNumOffset, int crlNumLen, Date crlTime)

Constructs a CRLReference object for specified contents.

 

Method Summary

 Object

clone()

Overrrides the default clone method to get a deeper clone.

 void

decodeValue(byte[] valueBER, int offset)

Decode the value.

 int

derEncodeValue(byte[] encoding, int offset)

Place the encoding of the value into encoding, beginning at offset.

 int

derEncodeValueInit()

Initialize for encoding the value.

 byte[]

getCRLNumber()

Returns the crlNum component of this object.

 Date

getCRLTime()

/** Returns the crlTime component of this object.

 String

getURL()

Returns the crlUrl component of this object.

 void

setCRLNumber(byte[] crlNum, int crlNumOffset, int crlNumLen)

Set the crlNum component of this object.

 void

setCRLTime(Date crlTime)

Set the crlTime component of this object.

 void

setURL(String crlUrl)

Returns the crlUrl component of this object.

 
Methods inherited from class com.rsa.certj.cert.extensions.X509V3Extension
extend, getCriticality, getDEREncoding, getDERLen, getExtensionType, getExtensionTypeString, getInstance, getNextBEROffset, isExtensionType, setCriticality, setEncoding, setSpecialOID, setStandardOID
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CRLReference

public CRLReference()
Constructs an empty CRLReference object.

CRLReference

public CRLReference(String crlUrl,
                    byte[] crlNum,
                    int crlNumOffset,
                    int crlNumLen,
                    Date crlTime)
Constructs a CRLReference object for specified contents.

Parameters

         crlUrl  

A String object holding the value of the crlUrl component of a CRLReference object to be created. If this component is to be omitted, provide null.

         crlNum  

A byte array holding the value of the crlNum component of a CRLReference object to be created. If this component is to be omitted, provide null.

         crlTime  

A Date object holding the value of the crlTime component of a CRLReference object to be created. If this component is to be omitted, provide null.

Method Detail

derEncodeValueInit

public int derEncodeValueInit()
Initialize for encoding the value.

Overrides

derEncodeValueInit in class X509V3Extension

Returns

How many bytes the encoding will be.

derEncodeValue

public int derEncodeValue(byte[] encoding,
                          int offset)
Place the encoding of the value into encoding, beginning at offset. This is the actual contents that are wrapped in the OCTET STRING (not the surrounding OCTET STRING tag and length).

Overrides

derEncodeValue in class X509V3Extension

Parameters

         encoding  

The byte array into which the result will be placed.

         offset  

The offest into encoding where the writing is to begin.

Returns

The number of bytes actually placed into encoding.

decodeValue

public void decodeValue(byte[] valueBER,
                        int offset)
                 throws CertificateException
Description copied from class: X509V3Extension
Decode the value. Each subclass will have a different way to decode what was wrapped in the OCTET STRING.

Overrides

decodeValue in class X509V3Extension
Following copied from class: com.rsa.certj.cert.extensions.X509V3Extension

Parameters

         valueBER  

The BER encoding of the extension's value.

         offset  

The offset into valueBER where the encoding begins.

Throws

CertificateException - If the encoding is invalid for this extension.

getURL

public String getURL()
Returns the crlUrl component of this object.

Returns

A String object holding the crlUrl component of this object. If this component is missing, it returns null.

setURL

public void setURL(String crlUrl)
Returns the crlUrl component of this object.

Returns

A String object holding the crlUrl component of this object. If this component is missing, it returns null.

getCRLNumber

public byte[] getCRLNumber()
Returns the crlNum component of this object.

Returns

A byte array holding the crlNum component of this object. If this component is missing, returns null.

setCRLNumber

public void setCRLNumber(byte[] crlNum,
                         int crlNumOffset,
                         int crlNumLen)
Set the crlNum component of this object.

Parameters

         A  

byte array holding the crlNum component of this object. If this component is missing, returns null.


getCRLTime

public Date getCRLTime()
/** Returns the crlTime component of this object.

Returns

A Date object holding the crlTime component of this object. If this component is missing, it returns null.

setCRLTime

public void setCRLTime(Date crlTime)
Set the crlTime component of this object.

Parameters

         A  

Date object holding the crlTime component of this object. If this component is missing, it returns null.


clone

public Object clone()
             throws CloneNotSupportedException
Overrrides the default clone method to get a deeper clone.

Overrides

clone in class X509V3Extension

Returns

A CRLReference object, a copy of this object.

Throws

CloneNotSupportedException - If there is some difficulty in creating the copy.


RSA BSAFE ® Cert-J 2.1.1 001-047007-211-001-000