This repository has been archived by the owner on May 29, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 14
/
IX509Extension.xml
245 lines (244 loc) · 16.4 KB
/
IX509Extension.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
<Type Name="IX509Extension" FullName="Java.Security.Cert.IX509Extension">
<TypeSignature Language="C#" Value="public interface IX509Extension : Android.Runtime.IJavaObject, IDisposable, Java.Interop.IJavaPeerable" />
<TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract beforefieldinit IX509Extension implements class Android.Runtime.IJavaObject, class Java.Interop.IJavaPeerable, class System.IDisposable" />
<TypeSignature Language="DocId" Value="T:Java.Security.Cert.IX509Extension" />
<TypeSignature Language="F#" Value="type IX509Extension = interface
 interface IJavaObject
 interface IDisposable
 interface IJavaPeerable" />
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Interfaces>
<Interface>
<InterfaceName>Android.Runtime.IJavaObject</InterfaceName>
</Interface>
<Interface>
<InterfaceName>Java.Interop.IJavaPeerable</InterfaceName>
</Interface>
<Interface>
<InterfaceName>System.IDisposable</InterfaceName>
</Interface>
</Interfaces>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register("java/security/cert/X509Extension", "", "Java.Security.Cert.IX509ExtensionInvoker")]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register("java/security/cert/X509Extension", "", "Java.Security.Cert.IX509ExtensionInvoker")>]</AttributeName>
</Attribute>
</Attributes>
<Docs since="1">
<summary>Interface for an X.</summary>
<remarks>
<para>Interface for an X.509 extension.</para>
<para>The extensions defined for X.509 v3
<c>X509Certificate Certificates</c> and v2
<c>X509CRL CRLs</c> (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.</para>
<para>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.</para>
<para>The ASN.1 definition for this is:</para>
<code lang="text/java">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
}
</code>
<para>Since not all extensions are known, the <c>getExtensionValue</c>
method returns the DER-encoded OCTET STRING of the
extension value (i.e., the <c>extnValue</c>). This can then
be handled by a <em>Class</em> that understands the extension.</para>
<para>Added in 1.2.</para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/security/cert/X509Extension" title="Reference documentation">Java documentation for <code>java.security.cert.X509Extension</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
<since version="Added in API level 1" />
</Docs>
<Members>
<Member MemberName="CriticalExtensionOIDs">
<MemberSignature Language="C#" Value="public System.Collections.Generic.ICollection<string>? CriticalExtensionOIDs { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Generic.ICollection`1<string> CriticalExtensionOIDs" />
<MemberSignature Language="DocId" Value="P:Java.Security.Cert.IX509Extension.CriticalExtensionOIDs" />
<MemberSignature Language="F#" Value="member this.CriticalExtensionOIDs : System.Collections.Generic.ICollection<string>" Usage="Java.Security.Cert.IX509Extension.CriticalExtensionOIDs" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[get: Android.Runtime.Register("getCriticalExtensionOIDs", "()Ljava/util/Set;", "GetGetCriticalExtensionOIDsHandler:Java.Security.Cert.IX509ExtensionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]</AttributeName>
<AttributeName Language="F#">[<get: Android.Runtime.Register("getCriticalExtensionOIDs", "()Ljava/util/Set;", "GetGetCriticalExtensionOIDsHandler:Java.Security.Cert.IX509ExtensionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Collections.Generic.ICollection<System.String></ReturnType>
</ReturnValue>
<Docs>
<summary>Returns the set of OIDs of the extension(s) marked as CRITICAL, that this
implementation manages.</summary>
<value>To be added.</value>
<remarks>
<para>Portions of this page are modifications based on work created and shared by the <format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format> and used according to terms described in the <format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
<since version="Added in API level 1" />
</Docs>
</Member>
<Member MemberName="GetExtensionValue">
<MemberSignature Language="C#" Value="public byte[]? GetExtensionValue (string? oid);" />
<MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance unsigned int8[] GetExtensionValue(string oid) cil managed" />
<MemberSignature Language="DocId" Value="M:Java.Security.Cert.IX509Extension.GetExtensionValue(System.String)" />
<MemberSignature Language="F#" Value="abstract member GetExtensionValue : string -> byte[]" Usage="iX509Extension.GetExtensionValue oid" />
<MemberType>Method</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[Android.Runtime.Register("getExtensionValue", "(Ljava/lang/String;)[B", "GetGetExtensionValue_Ljava_lang_String_Handler:Java.Security.Cert.IX509ExtensionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]</AttributeName>
<AttributeName Language="F#">[<Android.Runtime.Register("getExtensionValue", "(Ljava/lang/String;)[B", "GetGetExtensionValue_Ljava_lang_String_Handler:Java.Security.Cert.IX509ExtensionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Byte[]</ReturnType>
</ReturnValue>
<Parameters>
<Parameter Name="oid" Type="System.String" />
</Parameters>
<Docs>
<param name="oid">the Object Identifier value for the extension.</param>
<summary>Gets the DER-encoded OCTET string for the extension value
(<em>extnValue</em>) identified by the passed-in <c>oid</c>
String.</summary>
<returns>the DER-encoded octet string of the extension value or
null if it is not present.</returns>
<remarks>
<para>Gets the DER-encoded OCTET string for the extension value
(<em>extnValue</em>) identified by the passed-in <c>oid</c>
String.
The <c>oid</c> string is
represented by a set of nonnegative whole numbers separated
by periods.</para>
<para>For example:<br>
<table class="striped">
<caption style="display:none">Examples of OIDs and extension names</caption>
<thead>
<tr>
<th scope="col">OID <em>(Object Identifier)</em></th>
<th scope="col">Extension Name</th></tr>
</thead>
<tbody style="text-align:left">
<tr><th scope="row">2.5.29.14</th>
<td>SubjectKeyIdentifier</td></tr>
<tr><th scope="row">2.5.29.15</th>
<td>KeyUsage</td></tr>
<tr><th scope="row">2.5.29.16</th>
<td>PrivateKeyUsage</td></tr>
<tr><th scope="row">2.5.29.17</th>
<td>SubjectAlternativeName</td></tr>
<tr><th scope="row">2.5.29.18</th>
<td>IssuerAlternativeName</td></tr>
<tr><th scope="row">2.5.29.19</th>
<td>BasicConstraints</td></tr>
<tr><th scope="row">2.5.29.30</th>
<td>NameConstraints</td></tr>
<tr><th scope="row">2.5.29.33</th>
<td>PolicyMappings</td></tr>
<tr><th scope="row">2.5.29.35</th>
<td>AuthorityKeyIdentifier</td></tr>
<tr><th scope="row">2.5.29.36</th>
<td>PolicyConstraints</td></tr>
</tbody>
</table></para>
<para>
<format type="text/html">
<a href="https://developer.android.com/reference/java/security/cert/X509Extension#getExtensionValue(java.lang.String)" title="Reference documentation">Java documentation for <code>java.security.cert.X509Extension.getExtensionValue(java.lang.String)</code>.</a>
</format>
</para>
<para>
Portions of this page are modifications based on work created and shared by the
<format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format>
and used according to terms described in the
<format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
<since version="Added in API level 1" />
</Docs>
</Member>
<Member MemberName="HasUnsupportedCriticalExtension">
<MemberSignature Language="C#" Value="public bool HasUnsupportedCriticalExtension { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance bool HasUnsupportedCriticalExtension" />
<MemberSignature Language="DocId" Value="P:Java.Security.Cert.IX509Extension.HasUnsupportedCriticalExtension" />
<MemberSignature Language="F#" Value="member this.HasUnsupportedCriticalExtension : bool" Usage="Java.Security.Cert.IX509Extension.HasUnsupportedCriticalExtension" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[get: Android.Runtime.Register("hasUnsupportedCriticalExtension", "()Z", "GetHasUnsupportedCriticalExtensionHandler:Java.Security.Cert.IX509ExtensionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]</AttributeName>
<AttributeName Language="F#">[<get: Android.Runtime.Register("hasUnsupportedCriticalExtension", "()Z", "GetHasUnsupportedCriticalExtensionHandler:Java.Security.Cert.IX509ExtensionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Boolean</ReturnType>
</ReturnValue>
<Docs>
<summary>Returns whether this instance has an extension marked as CRITICAL that it
cannot support.</summary>
<value>To be added.</value>
<remarks>
<para>Portions of this page are modifications based on work created and shared by the <format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format> and used according to terms described in the <format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
<since version="Added in API level 1" />
</Docs>
</Member>
<Member MemberName="NonCriticalExtensionOIDs">
<MemberSignature Language="C#" Value="public System.Collections.Generic.ICollection<string>? NonCriticalExtensionOIDs { get; }" />
<MemberSignature Language="ILAsm" Value=".property instance class System.Collections.Generic.ICollection`1<string> NonCriticalExtensionOIDs" />
<MemberSignature Language="DocId" Value="P:Java.Security.Cert.IX509Extension.NonCriticalExtensionOIDs" />
<MemberSignature Language="F#" Value="member this.NonCriticalExtensionOIDs : System.Collections.Generic.ICollection<string>" Usage="Java.Security.Cert.IX509Extension.NonCriticalExtensionOIDs" />
<MemberType>Property</MemberType>
<AssemblyInfo>
<AssemblyName>Mono.Android</AssemblyName>
<AssemblyVersion>0.0.0.0</AssemblyVersion>
</AssemblyInfo>
<Attributes>
<Attribute>
<AttributeName Language="C#">[get: Android.Runtime.Register("getNonCriticalExtensionOIDs", "()Ljava/util/Set;", "GetGetNonCriticalExtensionOIDsHandler:Java.Security.Cert.IX509ExtensionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")]</AttributeName>
<AttributeName Language="F#">[<get: Android.Runtime.Register("getNonCriticalExtensionOIDs", "()Ljava/util/Set;", "GetGetNonCriticalExtensionOIDsHandler:Java.Security.Cert.IX509ExtensionInvoker, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null")>]</AttributeName>
</Attribute>
</Attributes>
<ReturnValue>
<ReturnType>System.Collections.Generic.ICollection<System.String></ReturnType>
</ReturnValue>
<Docs>
<summary>Returns the set of OIDs of the extension(s) marked as NON-CRITICAL, that
this implementation manages.</summary>
<value>To be added.</value>
<remarks>
<para>Portions of this page are modifications based on work created and shared by the <format type="text/html"><a href="https://developers.google.com/terms/site-policies" title="Android Open Source Project">Android Open Source Project</a></format> and used according to terms described in the <format type="text/html"><a href="https://creativecommons.org/licenses/by/2.5/" title="Creative Commons 2.5 Attribution License">Creative Commons 2.5 Attribution License.</a></format></para>
</remarks>
<since version="Added in API level 1" />
</Docs>
</Member>
</Members>
</Type>