Share via


IX509Extension Interface

Definition

Interface for an X.

[Android.Runtime.Register("java/security/cert/X509Extension", "", "Java.Security.Cert.IX509ExtensionInvoker")]
public interface IX509Extension : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable
[<Android.Runtime.Register("java/security/cert/X509Extension", "", "Java.Security.Cert.IX509ExtensionInvoker")>]
type IX509Extension = interface
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Derived
Attributes
Implements

Remarks

Interface for an X.509 extension.

The extensions defined for X.509 v3 X509Certificate Certificates and v2 X509CRL CRLs (Certificate Revocation Lists) provide methods for associating additional attributes with users or public keys, for managing the certification hierarchy, and for managing CRL distribution. The X.509 extensions format also allows communities to define private extensions to carry information unique to those communities.

Each extension in a certificate/CRL may be designated as critical or non-critical. A certificate/CRL-using system (an application validating a certificate/CRL) must reject the certificate/CRL if it encounters a critical extension it does not recognize. A non-critical extension may be ignored if it is not recognized.

The ASN.1 definition for this is:

Extensions  ::=  SEQUENCE SIZE (1..MAX) OF Extension

            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
            }

Since not all extensions are known, the getExtensionValue method returns the DER-encoded OCTET STRING of the extension value (i.e., the extnValue). This can then be handled by a <em>Class</em> that understands the extension.

Added in 1.2.

Java documentation for java.security.cert.X509Extension.

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.

Properties

CriticalExtensionOIDs

Returns the set of OIDs of the extension(s) marked as CRITICAL, that this implementation manages.

Handle

Gets the JNI value of the underlying Android object.

(Inherited from IJavaObject)
HasUnsupportedCriticalExtension

Returns whether this instance has an extension marked as CRITICAL that it cannot support.

JniIdentityHashCode

Returns the value of java.lang.System.identityHashCode() for the wrapped instance.

(Inherited from IJavaPeerable)
JniManagedPeerState

State of the managed peer.

(Inherited from IJavaPeerable)
JniPeerMembers

Member access and invocation support.

(Inherited from IJavaPeerable)
NonCriticalExtensionOIDs

Returns the set of OIDs of the extension(s) marked as NON-CRITICAL, that this implementation manages.

PeerReference

Returns a JniObjectReference of the wrapped Java object instance.

(Inherited from IJavaPeerable)

Methods

Disposed()

Called when the instance has been disposed.

(Inherited from IJavaPeerable)
DisposeUnlessReferenced()

If there are no outstanding references to this instance, then calls Dispose(); otherwise, does nothing.

(Inherited from IJavaPeerable)
Finalized()

Called when the instance has been finalized.

(Inherited from IJavaPeerable)
GetExtensionValue(String)

Gets the DER-encoded OCTET string for the extension value (<em>extnValue</em>) identified by the passed-in oid String.

SetJniIdentityHashCode(Int32)

Set the value returned by JniIdentityHashCode.

(Inherited from IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates) (Inherited from IJavaPeerable)
SetPeerReference(JniObjectReference)

Set the value returned by PeerReference.

(Inherited from IJavaPeerable)
UnregisterFromRuntime()

Unregister this instance so that the runtime will not return it from future Java.Interop.JniRuntime+JniValueManager.PeekValue invocations.

(Inherited from IJavaPeerable)

Extension Methods

JavaCast<TResult>(IJavaObject)

Performs an Android runtime-checked type conversion.

JavaCast<TResult>(IJavaObject)
GetJniTypeName(IJavaPeerable)

Applies to