APIdia Launch Partner
Top Description Fields Constructors Methods
java.security.cert

public Class PolicyQualifierInfo

extends Object
Class Inheritance
Imports
java.io.IOException, sun.security.util.HexDumpEncoder, .DerValue

An immutable policy qualifier represented by the ASN.1 PolicyQualifierInfo structure.

The ASN.1 definition is as follows:

  PolicyQualifierInfo ::= SEQUENCE {
       policyQualifierId       PolicyQualifierId,
       qualifier               ANY DEFINED BY policyQualifierId }

A certificate policies extension, if present in an X.509 version 3 certificate, contains a sequence of one or more policy information terms, each of which consists of an object identifier (OID) and optional qualifiers. In an end-entity certificate, these policy information terms indicate the policy under which the certificate has been issued and the purposes for which the certificate may be used. In a CA certificate, these policy information terms limit the set of policies for certification paths which include this certificate.

A Set of PolicyQualifierInfo objects are returned by the PolicyNode.getPolicyQualifiers method. This allows applications with specific policy requirements to process and validate each policy qualifier. Applications that need to process policy qualifiers should explicitly set the policyQualifiersRejected flag to false (by calling the PKIXParameters.setPolicyQualifiersRejected method) before validating a certification path.

Note that the PKIX certification path validation algorithm specifies that any policy qualifier in a certificate policies extension that is marked critical must be processed and validated. Otherwise, the certification path must be rejected. If the policyQualifiersRejected flag is set to false, it is up to the application to validate all policy qualifiers in this manner in order to be PKIX compliant.

Concurrent Access

All PolicyQualifierInfo objects must be immutable and thread-safe. That is, multiple threads may concurrently invoke the methods defined in this class on a single PolicyQualifierInfo object (or more than one) with no ill effects. Requiring PolicyQualifierInfo objects to be immutable and thread-safe allows them to be passed around to various pieces of code without worrying about coordinating access.

Authors
seth proctor, Sean Mullan
Since
1.4

Field Summary

Modifier and TypeField and Description
private final byte[]
private final byte[]
private final String
private String

Constructor Summary

AccessConstructor and Description
public
PolicyQualifierInfo(byte[]
a byte array containing the qualifier in DER encoding
encoded
)

Creates an instance of PolicyQualifierInfo from the encoded bytes.

Method Summary

Modifier and TypeMethod and Description
public final byte[]

Returns:

the ASN.1 DER encoded bytes (never null). Note that a copy is returned, so the data is cloned each time this method is called.
getEncoded
()

Returns the ASN.1 DER encoded form of this PolicyQualifierInfo.

public final byte[]

Returns:

the ASN.1 DER encoded bytes of the qualifier field. Note that a copy is returned, so the data is cloned each time this method is called.
getPolicyQualifier
()

Returns the ASN.1 DER encoded form of the qualifier field of this PolicyQualifierInfo.

public final String

Returns:

the OID (never null)
getPolicyQualifierId
()

Returns the policyQualifierId field of this PolicyQualifierInfo.

public String

Returns:

a String describing the contents of this PolicyQualifierInfo
toString
()

Overrides java.lang.Object.toString.

Return a printable representation of this PolicyQualifierInfo.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

mDataback to summary
private final byte[] mData
mEncodedback to summary
private final byte[] mEncoded
mIdback to summary
private final String mId
pqiStringback to summary
private String pqiString

Constructor Detail

PolicyQualifierInfoback to summary
public PolicyQualifierInfo(byte[] encoded) throws IOException

Creates an instance of PolicyQualifierInfo from the encoded bytes. The encoded byte array is copied on construction.

Parameters
encoded:byte[]

a byte array containing the qualifier in DER encoding

Exceptions
IOException:
thrown if the byte array does not represent a valid and parsable policy qualifier

Method Detail

getEncodedback to summary
public final byte[] getEncoded()

Returns the ASN.1 DER encoded form of this PolicyQualifierInfo.

Returns:byte[]

the ASN.1 DER encoded bytes (never null). Note that a copy is returned, so the data is cloned each time this method is called.

getPolicyQualifierback to summary
public final byte[] getPolicyQualifier()

Returns the ASN.1 DER encoded form of the qualifier field of this PolicyQualifierInfo.

Returns:byte[]

the ASN.1 DER encoded bytes of the qualifier field. Note that a copy is returned, so the data is cloned each time this method is called.

getPolicyQualifierIdback to summary
public final String getPolicyQualifierId()

Returns the policyQualifierId field of this PolicyQualifierInfo. The policyQualifierId is an Object Identifier (OID) represented by a set of nonnegative integers separated by periods.

Returns:String

the OID (never null)

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Return a printable representation of this PolicyQualifierInfo.

Returns:String

a String describing the contents of this PolicyQualifierInfo