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)
Extension
| Modifier and Type | Field and Description |
|---|---|
| private int | |
| public static final String | |
| private int | |
| private static final byte | |
| private static final byte |
| Access | Constructor 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. |
| Modifier and Type | Method and Description |
|---|---|
| public void | encode(DerOutputStream
the DerOutputStream to write the extension to. out)Overrides sun. Implements sun. Write the extension to the DerOutputStream. |
| private void | |
| public int | |
| public String | |
| public int | |
| public String | toString()
Overrides sun. Return the extension as user readable string. |
| inhibit | back to summary |
|---|---|
| private int inhibit | |
| NAME | back to summary |
|---|---|
| public static final String NAME | |
| require | back to summary |
|---|---|
| private int require | |
| TAG_INHIBIT | back to summary |
|---|---|
| private static final byte TAG_INHIBIT | |
| TAG_REQUIRE | back to summary |
|---|---|
| private static final byte TAG_REQUIRE | |
| PolicyConstraintsExtension | back 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.
| |
| PolicyConstraintsExtension | back 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).
| |
| PolicyConstraintsExtension | back to summary |
|---|---|
| public PolicyConstraintsExtension(Boolean critical, Object value) throws IOException Create the extension from its DER encoded value and criticality.
| |
| encode | back to summary |
|---|---|
| public void encode(DerOutputStream out) Overrides sun. Implements sun. Write the extension to the DerOutputStream.
| |
| encodeThis | back to summary |
|---|---|
| private void encodeThis() | |
| getInhibit | back to summary |
|---|---|
| public int getInhibit() | |
| getName | back to summary |
|---|---|
| public String getName() Overrides sun. Return the name of this extension.
| |
| getRequire | back to summary |
|---|---|
| public int getRequire() | |
| toString | back to summary |
|---|---|
| public String toString() Overrides sun. Return the extension as user readable string. | |