Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
X509Certificate2Collection.cs
Go to the documentation of this file.
4using System.IO;
9
11
13{
14 public new X509Certificate2 this[int index]
15 {
16 get
17 {
19 }
20 set
21 {
22 base[index] = value;
23 }
24 }
25
27 {
28 }
29
34
39
44
46 {
47 if (certificate == null)
48 {
49 throw new ArgumentNullException("certificate");
50 }
52 }
53
55 {
56 if (certificates == null)
57 {
58 throw new ArgumentNullException("certificates");
59 }
60 int i = 0;
61 try
62 {
63 for (; i < certificates.Length; i++)
64 {
65 Add(certificates[i]);
66 }
67 }
68 catch
69 {
70 for (int j = 0; j < i; j++)
71 {
73 }
74 throw;
75 }
76 }
77
79 {
80 if (certificates == null)
81 {
82 throw new ArgumentNullException("certificates");
83 }
84 int i = 0;
85 try
86 {
87 for (; i < certificates.Count; i++)
88 {
89 Add(certificates[i]);
90 }
91 }
92 catch
93 {
94 for (int j = 0; j < i; j++)
95 {
97 }
98 throw;
99 }
100 }
101
106
108 {
109 return Export(contentType, null);
110 }
111
118
120 {
121 if (findValue == null)
122 {
123 throw new ArgumentNullException("findValue");
124 }
126 }
127
129 {
130 return new X509Certificate2Enumerator(this);
131 }
132
137
138 public void Import(byte[] rawData)
139 {
140 if (rawData == null)
141 {
142 throw new ArgumentNullException("rawData");
143 }
144 Import(rawData.AsSpan());
145 }
146
148 {
149 Import(rawData, null);
150 }
151
152 public void Import(byte[] rawData, string? password, X509KeyStorageFlags keyStorageFlags = X509KeyStorageFlags.DefaultKeySet)
153 {
154 if (rawData == null)
155 {
156 throw new ArgumentNullException("rawData");
157 }
158 Import(rawData.AsSpan(), password.AsSpan(), keyStorageFlags);
159 }
160
165
177
178 public void Import(string fileName)
179 {
180 Import(fileName, null);
181 }
182
184 {
185 if (fileName == null)
186 {
187 throw new ArgumentNullException("fileName");
188 }
192 loaderPal.MoveTo(this);
193 }
194
206
208 {
209 if (certificate == null)
210 {
211 throw new ArgumentNullException("certificate");
212 }
214 }
215
217 {
218 if (certificate == null)
219 {
220 throw new ArgumentNullException("certificate");
221 }
223 }
224
226 {
227 if (certificates == null)
228 {
229 throw new ArgumentNullException("certificates");
230 }
231 int i = 0;
232 try
233 {
234 for (; i < certificates.Length; i++)
235 {
237 }
238 }
239 catch
240 {
241 for (int j = 0; j < i; j++)
242 {
244 }
245 throw;
246 }
247 }
248
250 {
251 if (certificates == null)
252 {
253 throw new ArgumentNullException("certificates");
254 }
255 int i = 0;
256 try
257 {
258 for (; i < certificates.Count; i++)
259 {
261 }
262 }
263 catch
264 {
265 for (int j = 0; j < i; j++)
266 {
268 }
269 throw;
270 }
271 }
272
274 {
275 if (certPemFilePath == null)
276 {
277 throw new ArgumentNullException("certPemFilePath");
278 }
281 }
282
284 {
285 int num = 0;
286 try
287 {
289 while (enumerator.MoveNext())
290 {
291 enumerator.Current.Deconstruct(out var contents, out var pemFields);
294 contents = readOnlySpan;
295 ReadOnlySpan<char> span = contents[pemFields2.Label];
296 if (span.SequenceEqual("CERTIFICATE"))
297 {
298 byte[] array = GC.AllocateUninitializedArray<byte>(pemFields2.DecodedDataLength);
299 contents = readOnlySpan;
300 if (!Convert.TryFromBase64Chars(contents[pemFields2.Base64Data], array, out var bytesWritten) || bytesWritten != pemFields2.DecodedDataLength)
301 {
303 }
304 try
305 {
307 }
309 {
311 }
312 Import(array);
313 num++;
314 }
315 }
316 }
317 catch
318 {
319 for (int i = 0; i < num; i++)
320 {
321 RemoveAt(base.Count - 1);
322 }
323 throw;
324 }
325 }
326}
static X509Certificate2Collection FindFromCollection(X509Certificate2Collection coll, X509FindType findType, object findValue, bool validOnly)
Definition FindPal.cs:59
static ILoaderPal FromBlob(ReadOnlySpan< byte > rawData, SafePasswordHandle password, X509KeyStorageFlags keyStorageFlags)
Definition StorePal.cs:195
static ILoaderPal FromFile(string fileName, SafePasswordHandle password, X509KeyStorageFlags keyStorageFlags)
Definition StorePal.cs:200
static IExportPal LinkFromCertificateCollection(X509Certificate2Collection certificates)
Definition StorePal.cs:269
static bool TryFromBase64Chars(ReadOnlySpan< char > chars, Span< byte > bytes, out int bytesWritten)
Definition Convert.cs:2925
Definition GC.cs:8
static string ReadAllText(string path)
Definition File.cs:246
static string Cryptography_X509_NoPemCertificate
Definition SR.cs:104
Definition SR.cs:7
void Import(byte[] rawData, string? password, X509KeyStorageFlags keyStorageFlags=X509KeyStorageFlags.DefaultKeySet)
void Import(ReadOnlySpan< byte > rawData, ReadOnlySpan< char > password, X509KeyStorageFlags keyStorageFlags=X509KeyStorageFlags.DefaultKeySet)
void Import(string fileName, ReadOnlySpan< char > password, X509KeyStorageFlags keyStorageFlags=X509KeyStorageFlags.DefaultKeySet)
void Import(string fileName, string? password, X509KeyStorageFlags keyStorageFlags=X509KeyStorageFlags.DefaultKeySet)
X509Certificate2Collection Find(X509FindType findType, object findValue, bool validOnly)
void Import(ReadOnlySpan< byte > rawData, string? password, X509KeyStorageFlags keyStorageFlags=X509KeyStorageFlags.DefaultKeySet)
static void ValidateKeyStorageFlags(X509KeyStorageFlags keyStorageFlags)
static CertificateAsn Decode(ReadOnlyMemory< byte > encoded, AsnEncodingRules ruleSet)