terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches

◆ SelectClientCertificate()

X509Certificate Mono.Net.Security.MobileTlsContext.SelectClientCertificate ( string[] acceptableIssuers)
inlineprotectedinherited

Definition at line 169 of file MobileTlsContext.cs.

170 {
171 if (true)
172 {
173 }
174 if (this != null)
175 {
176 ChainValidationHelper chainValidationHelper = this.certificateValidator;
177 string text = this.<TargetHost>k__BackingField;
178 global::System.Security.Cryptography.X509Certificates.X509CertificateCollection x509CertificateCollection = this.<ClientCertificates>k__BackingField;
179 global::System.Net.Security.LocalCertSelectionCallback certSelectionCallback = chainValidationHelper.certSelectionCallback;
180 if (certSelectionCallback != null)
181 {
182 IntPtr invoke_impl = certSelectionCallback.invoke_impl;
183 IntPtr method_code = certSelectionCallback.method_code;
184 IntPtr method = certSelectionCallback.method;
185 }
186 global::System.Security.Cryptography.X509Certificates.X509CertificateCollection x509CertificateCollection2 = this.<ClientCertificates>k__BackingField;
188 {
189 if (acceptableIssuers != null && certSelectionCallback != null)
190 {
191 int count = this.<ClientCertificates>k__BackingField.Count;
192 long num = 0L;
193 long num3;
194 if (this.<ClientCertificates>k__BackingField[(int)num] != null)
195 {
196 global::System.Security.Cryptography.X509Certificates.X509ChainElementCollection x509ChainElementCollection;
197 if (x509ChainElementCollection.Count != 0)
198 {
199 long num2 = 0L;
200 global::System.Security.Cryptography.X509Certificates.X509ChainElementCollection x509ChainElementCollection2;
202 global::System.Security.Cryptography.X509Certificates.X509ChainElementCollection x509ChainElementCollection3;
203 string issuer = x509ChainElementCollection3[(int)num2].certificate.Issuer;
204 num3 = 0L;
205 }
206 long num4 = 0L;
207 int num5 = 15;
208 if (num3 != 0L)
209 {
210 }
211 if (num4 != 0L)
212 {
213 goto IL_00F5;
214 }
215 if (num5 != 0)
216 {
217 goto IL_00E0;
218 }
219 }
220 int count3 = this.<ClientCertificates>k__BackingField.Count;
221 while (num3 != 0L)
222 {
223 }
224 }
225 }
226 IL_00E0:
227 global::System.Security.Cryptography.X509Certificates.X509CertificateCollection x509CertificateCollection3 = this.<ClientCertificates>k__BackingField;
228 long num6 = 0L;
229 return x509CertificateCollection3[(int)num6];
230 }
231 IL_00F5:
232 throw new OutOfMemoryException();
233 }
class f__AnonymousType0<< Count > j__TPar
ChainValidationHelper certificateValidator
readonly MonoSslAuthenticationOptions< Options > k__BackingField
global::System.Security.Cryptography.X509Certificates.X509CertificateCollection ClientCertificates

References Mono.Net.Security.MobileTlsContext.certificateValidator, Mono.Net.Security.MobileTlsContext.ClientCertificates, System.count, j__TPar, Mono.Net.Security.MobileTlsContext.k__BackingField, System.L, Mono.Net.Security.MobileTlsContext.TargetHost, and System.text.