java.lang.Object | ||
↳ | sun.security.x509.Extension | |
↳ | sun.security.x509.ExtendedKeyUsageExtension |
This class defines the Extended Key Usage Extension, which indicates one or more purposes for which the certified public key may be used, in addition to or in place of the basic purposes indicated in the key usage extension field. This field is defined as follows:
id-ce-extKeyUsage OBJECT IDENTIFIER ::= {id-ce 37}
ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId
KeyPurposeId ::= OBJECT IDENTIFIER
Key purposes may be defined by any organization with a need. Object identifiers used to identify key purposes shall be assigned in accordance with IANA or ITU-T Rec. X.660 | ISO/IEC/ITU 9834-1.
This extension may, at the option of the certificate issuer, be either critical or non-critical.
If the extension is flagged critical, then the certificate MUST be used only for one of the purposes indicated.
If the extension is flagged non-critical, then it indicates the intended purpose or purposes of the key, and may be used in finding the correct key/certificate of an entity that has multiple keys/certificates. It is an advisory field and does not imply that usage of the key is restricted by the certification authority to the purpose indicated. Certificate using applications may nevertheless require that a particular purpose be indicated in order for the certificate to be acceptable to that application.
If a certificate contains both a critical key usage field and a critical extended key usage field, then both fields MUST be processed independently and the certificate MUST only be used for a purpose consistent with both fields. If there is no purpose consistent with both fields, then the certificate MUST NOT be used for any purpose.
Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
String | IDENT | Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type. | |||||||||
String | NAME | Attribute names. | |||||||||
String | USAGES |
[Expand]
Inherited Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Create a ExtendedKeyUsageExtension object from
a Vector of Key Usages; the criticality is set to false.
| |||||||||||
Create a ExtendedKeyUsageExtension object from
a Vector of KeyUsages with specified criticality.
| |||||||||||
Create the extension from its DER encoded value and criticality.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Delete the attribute value.
| |||||||||||
Write the extension to the DerOutputStream.
| |||||||||||
Get the attribute value.
| |||||||||||
Return an enumeration of names of attributes existing within this
attribute.
| |||||||||||
Return the name of this attribute.
| |||||||||||
Set the attribute value.
| |||||||||||
Return the extension as user readable string.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() |
Identifier for this attribute, to be used with the get, set, delete methods of Certificate, x509 type.
Create a ExtendedKeyUsageExtension object from a Vector of Key Usages; the criticality is set to false.
keyUsages | the Vector of KeyUsages (ObjectIdentifiers) |
---|
IOException |
---|
Create a ExtendedKeyUsageExtension object from a Vector of KeyUsages with specified criticality.
critical | true if the extension is to be treated as critical. |
---|---|
keyUsages | the Vector of KeyUsages (ObjectIdentifiers) |
IOException |
---|
Create the extension from its DER encoded value and criticality.
critical | true if the extension is to be treated as critical. |
---|---|
value | an array of DER encoded bytes of the actual value. |
ClassCastException | if value is not an array of bytes |
---|---|
IOException | on error. |
Write the extension to the DerOutputStream.
out | the DerOutputStream to write the extension to. |
---|
IOException | on encoding errors. |
---|
Return an enumeration of names of attributes existing within this attribute.
Set the attribute value.
name | the name of the attribute (e.g. "x509.info.key") |
---|---|
obj | the attribute object. |
IOException |
---|
Return the extension as user readable string.