public class HoldInstructionCode extends V3Extension
HoldInstructionCode extension.
The HoldInstructionCode extension is a non-critical
standard X509v2 CRL entry extension.
Each extension is associated with a specific certificateExtension
object identifier, derived from:
certificateExtension OBJECT IDENTIFIER ::=
{joint-iso-ccitt(2) ds(5) 29}
id-ce OBJECT IDENTIFIER ::= certificateExtension
The object identifier for the HoldInstructionCode extension
is defined as:
id-ce-HoldInstructionCode OBJECT IDENTIFIER ::= { id-ce 23 }
which corresponds to the OID string "2.5.29.23".
The X.509 Certificate and CRL profile presented in RFC 3280 specifies the HoldInstructionCode extension for providing a registered instruction identifier which indicates the action to be taken after encountering a certificate that has been placed on hold.
ASN.1 definition:
holdInstructionCode ::= OBJECT identifier
Since in the IAIK-JCE environment revoked certificates are implementations of the
iaik.x509.RevokedCertificate
class, a holdInstructionCode CRL entry extension may be added to a revoked certificate
by using the addExtension method of the iaik.x509.RevokedCertificate class.
Any revoked certificate itself is added to a certificate revocation list by using a proper
addCertificate method of the iaik.x509.X509CRL class, e.g.:
//Create a revoked certificate from a X509Certificate and set the revocation date
//to the current date; the X509Certificate is read in from a file:
GregorianCalendar date = (GregorianCalendar)Calendar.getInstance();
InputStream fis = new FileInputStream("cert.der");
X509Certificate cert = new X509Certificate(fis);
fis.close();
RevokedCertificate rev_cert = new RevokedCertificate(cert, date.getTime());
//add the holdInstructionCode code CRL entry extension to the revoked certificate:
HoldInstructionCode holdInstructionCode =
new HoldInstructionCode(HoldInstructionCode.holdInstructionCallIssuer);
rev_cert.addExtension(holdInstructionCode);
//add the revoked certificate to the crl
X509CRL crl = new X509CRL();
...
crl.addCertificate(rev_cert);
X509CRL,
X509Certificate,
RevokedCertificate| Modifier and Type | Field and Description |
|---|---|
static ObjectID |
holdInstruction
The base OID for defined hold instructions (1.2.840.10040.2).
|
static ObjectID |
holdInstructionCallIssuer
The holdinstruction-callissuer oid (1.2.840.10040.2.2).
|
static ObjectID |
holdInstructionNone
The holdinstruction-none oid (1.2.840.10040.2.1).
|
static ObjectID |
holdInstructionReject
The holdinstruction-reject oid (1.2.840.10040.2.3).
|
static ObjectID |
oid
The object identifier of this HoldInstructionCode extension.
|
critical| Constructor and Description |
|---|
HoldInstructionCode()
Default constructor.
|
HoldInstructionCode(ObjectID instructionCode)
Creates a new
HoldInstructionCode from the given oid. |
| Modifier and Type | Method and Description |
|---|---|
ObjectID |
getHoldInstructionCode()
Returns the hold instruction code.
|
ObjectID |
getObjectID()
Returns the object ID of this
HoldInstructionCode extension. |
int |
hashCode()
Returns a hashcode for this identity.
|
void |
init(ASN1Object obj)
Inits this
HoldInstructionCode implementation with an ASN1object
representing the value of this extension. |
void |
setInstructionCode(ObjectID instructionCode)
Sets the hold instruction code.
|
ASN1Object |
toASN1Object()
Returns an ASN1Object representing the value of this
HoldInstructionCode
extension object. |
java.lang.String |
toString()
Returns a string that represents the contents of this
HoldInstructionCode
extension. |
getName, isCritical, setCriticalpublic static final ObjectID oid
public static final ObjectID holdInstruction
public static final ObjectID holdInstructionNone
public static final ObjectID holdInstructionCallIssuer
public static final ObjectID holdInstructionReject
public HoldInstructionCode()
HoldInstructionCode object.
Use the setInstructionCode method for explicitly
setting the instruction code.public HoldInstructionCode(ObjectID instructionCode)
HoldInstructionCode from the given oid.
For instance:
HoldInstructionCode hic = new HoldInstructionCode(HoldInstrcutionCode.holdInstructionCodeReject));
instructionCode - the hold instruction code oidpublic ObjectID getObjectID()
HoldInstructionCode extension.getObjectID in class V3Extensionpublic void init(ASN1Object obj)
HoldInstructionCode implementation with an ASN1object
representing the value of this extension.
The given ASN1Object represents the hold instruction code oid.
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 CRL for properly initializing an included
HoldInstructionCode 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.
init in class V3Extensionobj - the HoldInstructionCode as ASN1Objectpublic ASN1Object toASN1Object()
HoldInstructionCode
extension object.
The returned ASN1Object represents the hold instruction code oid.
holdInstructionCode ::= OBJECT identifier
toASN1Object in class V3ExtensionHoldInstructionCode as ASN1Objectpublic ObjectID getHoldInstructionCode()
public void setInstructionCode(ObjectID instructionCode)
instructionCode - the instruction codepublic int hashCode()
hashCode in class V3Extensionpublic java.lang.String toString()
HoldInstructionCode
extension.toString in class java.lang.Object