Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ImportFromPem()

void System.Security.Cryptography.X509Certificates.X509Certificate2Collection.ImportFromPem ( ReadOnlySpan< char > certPem)
inline

Definition at line 283 of file X509Certificate2Collection.cs.

284 {
285 int num = 0;
286 try
287 {
289 while (enumerator.MoveNext())
290 {
291 enumerator.Current.Deconstruct(out var contents, out var pemFields);
293 PemFields pemFields2 = 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 {
302 throw new CryptographicException(System.SR.Cryptography_X509_NoPemCertificate);
303 }
304 try
305 {
307 }
308 catch (CryptographicException)
309 {
310 throw new CryptographicException(System.SR.Cryptography_X509_NoPemCertificate);
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 }
static string Cryptography_X509_NoPemCertificate
Definition SR.cs:104
Definition SR.cs:7
static CertificateAsn Decode(ReadOnlyMemory< byte > encoded, AsnEncodingRules ruleSet)

References System.array, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.SR.Cryptography_X509_NoPemCertificate, System.Security.Cryptography.X509Certificates.Asn1.CertificateAsn.Decode(), Internal.Cryptography.PemEnumerator.GetEnumerator(), System.Security.Cryptography.X509Certificates.X509Certificate2Collection.Import(), System.Collections.CollectionBase.RemoveAt(), and System.Convert.TryFromBase64Chars().

Referenced by System.Security.Cryptography.X509Certificates.X509Certificate2Collection.ImportFromPemFile().