APIdia Launch Partner
Top Description Fields Constructors Methods
sun.security.x509

public Class PolicyConstraintsExtension

extends Extension
Class Inheritance
Imports
java.io.IOException, sun.security.util.*

This class defines the certificate extension which specifies the Policy constraints.

The policy constraints extension can be used in certificates issued to CAs. The policy constraints extension constrains path validation in two ways. It can be used to prohibit policy mapping or require that each certificate in a path contain an acceptable policy identifier.

The ASN.1 syntax for this is (IMPLICIT tagging is defined in the module definition):

PolicyConstraints ::= SEQUENCE {
    requireExplicitPolicy [0] SkipCerts OPTIONAL,
    inhibitPolicyMapping  [1] SkipCerts OPTIONAL
}
SkipCerts ::= INTEGER (0..MAX)
Authors
Amit Kapoor, Hemma Prafullchandra
See Also
Extension

Field Summary

Modifier and TypeField and Description
private int
public static final String
private int
private static final byte
private static final byte
Inherited from sun.security.x509.Extension:
criticalextensionIdextensionValue

Constructor Summary

AccessConstructor and Description
public
PolicyConstraintsExtension(int
require explicit policy (-1 for optional).
require
,
int
inhibit policy mapping (-1 for optional).
inhibit
)

Create a PolicyConstraintsExtension object with both require explicit policy and inhibit policy mapping.

public
PolicyConstraintsExtension(Boolean
true if the extension is to be treated as critical.
critical
,
int
require explicit policy (-1 for optional).
require
,
int
inhibit policy mapping (-1 for optional).
inhibit
)

Create a PolicyConstraintsExtension object with specified criticality and both require explicit policy and inhibit policy mapping.

public
PolicyConstraintsExtension(Boolean
true if the extension is to be treated as critical.
critical
,
Object
an array of DER encoded bytes of the actual value.
value
)

Create the extension from its DER encoded value and criticality.

Method Summary

Modifier and TypeMethod and Description
public void
encode(DerOutputStream
the DerOutputStream to write the extension to.
out
)

Overrides sun.security.x509.Extension.encode.

Implements sun.security.util.DerEncoder.encode.

Write the extension to the DerOutputStream.

private void
public int
public String
getName()

Overrides sun.security.x509.Extension.getName.

Return the name of this extension.

public int
public String
toString()

Overrides sun.security.x509.Extension.toString.

Return the extension as user readable string.

Inherited from sun.security.x509.Extension:
encodeequalsgetExtensionIdgetExtensionValuegetIdgetValuehashCodeisCriticalnewExtension

Field Detail

inhibitback to summary
private int inhibit
NAMEback to summary
public static final String NAME
requireback to summary
private int require
TAG_INHIBITback to summary
private static final byte TAG_INHIBIT
TAG_REQUIREback to summary
private static final byte TAG_REQUIRE

Constructor Detail

PolicyConstraintsExtensionback to summary
public PolicyConstraintsExtension(int require, int inhibit)

Create a PolicyConstraintsExtension object with both require explicit policy and inhibit policy mapping. The extension is marked non-critical.

Parameters
require:int

require explicit policy (-1 for optional).

inhibit:int

inhibit policy mapping (-1 for optional).

PolicyConstraintsExtensionback to summary
public PolicyConstraintsExtension(Boolean critical, int require, int inhibit)

Create a PolicyConstraintsExtension object with specified criticality and both require explicit policy and inhibit policy mapping. At least one should be provided (not -1).

Parameters
critical:Boolean

true if the extension is to be treated as critical.

require:int

require explicit policy (-1 for optional).

inhibit:int

inhibit policy mapping (-1 for optional).

PolicyConstraintsExtensionback to summary
public PolicyConstraintsExtension(Boolean critical, Object value) throws IOException

Create the extension from its DER encoded value and criticality.

Parameters
critical:Boolean

true if the extension is to be treated as critical.

value:Object

an array of DER encoded bytes of the actual value.

Exceptions
IOException:
on error.
ClassCastException:
if value is not an array of bytes

Method Detail

encodeback to summary
public void encode(DerOutputStream out)

Overrides sun.security.x509.Extension.encode.

Implements sun.security.util.DerEncoder.encode.

Write the extension to the DerOutputStream.

Parameters
out:DerOutputStream

the DerOutputStream to write the extension to.

Annotations
@Override
encodeThisback to summary
private void encodeThis()
getInhibitback to summary
public int getInhibit()
getNameback to summary
public String getName()

Overrides sun.security.x509.Extension.getName.

Return the name of this extension.

Annotations
@Override
getRequireback to summary
public int getRequire()
toStringback to summary
public String toString()

Overrides sun.security.x509.Extension.toString.

Return the extension as user readable string.