public interface Extension
Extensions provide a means of associating additional attributes with users or public keys and for managing a certification hierarchy. The extension format also allows communities to define private extensions to carry information unique to those communities.
Each extension contains an object identifier, a criticality setting indicating whether it is a critical or a non-critical extension, and and an ASN.1 DER-encoded value. Its ASN.1 definition is:
     Extension ::= SEQUENCE {
         extnId        OBJECT IDENTIFIER,
         critical      BOOLEAN DEFAULT FALSE,
         extnValue     OCTET STRING
                 -- contains a DER encoding of a value
                 -- of the type registered for use with
                 -- the extnId object identifier value
     }
 
 
 This interface is designed to provide access to a single extension,
 unlike X509Extension which is more suitable
 for accessing a set of extensions.
| Modifier and Type | Method and Description | 
|---|---|
| void | encode(OutputStream out)Generates the extension's DER encoding and writes it to the output
 stream. | 
| String | getId()Gets the extensions's object identifier. | 
| byte[] | getValue()Gets the extensions's DER-encoded value. | 
| boolean | isCritical()Gets the extension's criticality setting. | 
String getId()
boolean isCritical()
byte[] getValue()
null if no
    extension value is present.void encode(OutputStream out) throws IOException
out - the output streamIOException - on encoding or output error.NullPointerException - if out is null. Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.