com.rsa.certj.crmf

Class PKIPublicationInfo

java.lang.Object
  |
  +--com.rsa.certj.crmf.Control
        |
        +--com.rsa.certj.crmf.PKIPublicationInfo
All Implemented Interfaces:
Cloneable, Serializable

public class PKIPublicationInfo
extends Control
implements Cloneable, Serializable

This class holds, encodes, and decodes the PKI Publication Info control. It is defined in CRMF. The PKIPublicationInfo control enables subscribers to control the CA's publication of the certificate. It is defined by the following syntax:

 PKIPublicationInfo ::= SEQUENCE {
   action INTEGER {
     dontPublish (0),
     pleasePublish (1) },
   pubInfos SEQUENCE SIZE (1...MAX) OF SinglePubInfo OPTIONAL }

 -- pubInfos MUST NOT be presented if action is "dontPublish"
 -- (if action is "pleasePublish" and pubInfos is omitted,
 -- "dontCare" is assumed)

 SinglePubInfo ::= SEQUENCE {
   pubMethod INTEGER {
     dontCare (0),
     x500     (1),
     web      (2),
     ldap     (3) },
   pubLocation GeneralName OPTIONAL }
 
If the dontPublish option is chosen, the requester indicates that the PKI should not publish the certificate (this may indicate that the requester intends to publish the certificate him/herself).

If the dontCare method is chosen, or if the PKIPublicationInfo control is omitted from the request, the requester indicates that the PKI MAY publish the certificate using whatever means it chooses.

If the requester wishes the certificate to appear in at least some locations but wishes to enable the CA to make the certificate available in other repositories, set two values of SinglePubInfo for pubInfos: one with x500, web or ldap value and one with dontCare.

The pubLocation field, if supplied, indicates where the requester would like the certificate to be found (note that the CHOICE within GeneralName includes a URL and an IP address, for example).

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

See Also

Serialized Form

Field Summary

static int

DONT_CARE

This pubMethod option indicates that PKI MAY publish the certificate using whatever means it chooses

static int

DONT_PUBLISH

This action option indicates that PKI should not publish the certificate

static int

LDAP

This pubMethod option indicates that the requester wishes to enable the CA to make the certificate available in LDAP repository.

static int

PLEASE_PUBLISH

This action option indicates that PKI should publish the certificate

static int

WEB

This pubMethod option indicates that the requester wishes to enable the CA to make the certificate available in WEB repository.

static int

X500

This pubMethod option indicates that the requester wishes to enable the CA to make the certificate available in X500 repository.

 
Fields inherited from class com.rsa.certj.crmf.Control
AUTHENTICATOR, NON_STANDARD, OLD_CERT_ID, PKI_ARCHIVE_OPTIONS, PKI_PUBLICATION_INFO, PROTOCOL_ENCR_KEY, REG_TOKEN
 

Constructor Summary

PKIPublicationInfo()

Constructs an empty PKIPublicationInfo object.

 

Method Summary

 void

addSinglePubInfo(int pubMethod, GeneralName pubLocation)

Adds the SinglePubInfo value

 Object

clone()

Overrides the default clone method to get a deeper clone.

 boolean

equals(Object obj)

Returns true if this object and obj contain the same PKIPublicationInfo, returns false otherwise.

 int

getAction()

Gets the action value of this object

 GeneralName

getPubLocation(int index)

Gets the pubLocation value of SinglePubInfo at specified index

 int

getPubMethod(int index)

Gets the pubMethod value of SinglePubInfo at specified index

 int

getSinglePubInfoCount()

Gets the number of SinglePubInfo structures in this object

 void

setAction(int action)

Sets the action value of this object

 
Methods inherited from class com.rsa.certj.crmf.Control
compareOID, derEncodeControlLen, getControlType, getControlTypeString, getDEREncoding, getDERLen, getInstance, getInstance, getNextBEROffset, getOID, isControlType, setEnvironment
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DONT_PUBLISH

public static final int DONT_PUBLISH
This action option indicates that PKI should not publish the certificate

PLEASE_PUBLISH

public static final int PLEASE_PUBLISH
This action option indicates that PKI should publish the certificate

DONT_CARE

public static final int DONT_CARE
This pubMethod option indicates that PKI MAY publish the certificate using whatever means it chooses

X500

public static final int X500
This pubMethod option indicates that the requester wishes to enable the CA to make the certificate available in X500 repository.

WEB

public static final int WEB
This pubMethod option indicates that the requester wishes to enable the CA to make the certificate available in WEB repository.

LDAP

public static final int LDAP
This pubMethod option indicates that the requester wishes to enable the CA to make the certificate available in LDAP repository.
Constructor Detail

PKIPublicationInfo

public PKIPublicationInfo()
Constructs an empty PKIPublicationInfo object.
Method Detail

setAction

public void setAction(int action)
               throws CRMFException
Sets the action value of this object

Parameters

         action  

One of the action flags defined in this class

Throws

CRMFException - If the passed in value is invalid

getAction

public int getAction()
Gets the action value of this object

Returns

One of the action flags defined in this class

addSinglePubInfo

public void addSinglePubInfo(int pubMethod,
                             GeneralName pubLocation)
                      throws CRMFException
Adds the SinglePubInfo value

Parameters

         pubMethod  

One of the pubMethod flags defined in this class

         pubLocation  

Indicates where the requester would like the certificate to be found; pass NULL if don't want to specify

Throws

CRMFException - If the passed in value is invalid

getSinglePubInfoCount

public int getSinglePubInfoCount()
Gets the number of SinglePubInfo structures in this object

Returns

The number of SinglePubInfo structures in this object; if none set, returns 0.

getPubMethod

public int getPubMethod(int index)
                 throws CRMFException
Gets the pubMethod value of SinglePubInfo at specified index

Parameters

         index  

Specifies the SinglePubInfo structure

Returns

The pubMethod value of this structure

Throws

CRMFException - If specified index is invalid

getPubLocation

public GeneralName getPubLocation(int index)
                           throws CRMFException
Gets the pubLocation value of SinglePubInfo at specified index

Parameters

         index  

Specifies the SinglePubInfo structure

Returns

The pubLocation value of this structure; returns NULL if it is not set

Throws

CRMFException - If specified index is invalid

clone

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

Overrides

clone in class Control

Returns

A new PKIPublicationInfo object, a copy of this object

Throws

CloneNotSupportedException - If the cloning operation is not successful.

equals

public boolean equals(Object obj)
Returns true if this object and obj contain the same PKIPublicationInfo, returns false otherwise.

Overrides

equals in class Control

Parameters

         obj  

The instance of PKIPublicationInfo object

Returns

A boolean that indicates whether these objects are equal.


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