MimeKit.Cryptography.DefaultSecureMimeContext.DecodeEncryptionAlgorithms C# (CSharp) Method

DecodeEncryptionAlgorithms() static private method

static private DecodeEncryptionAlgorithms ( byte rawData ) : EncryptionAlgorithm[]
rawData byte
return EncryptionAlgorithm[]
		static EncryptionAlgorithm[] DecodeEncryptionAlgorithms (byte[] rawData)
		{
			using (var memory = new MemoryStream (rawData, false)) {
				using (var asn1 = new Asn1InputStream (memory)) {
					var algorithms = new List<EncryptionAlgorithm> ();
					var sequence = asn1.ReadObject () as Asn1Sequence;

					if (sequence == null)
						return null;

					for (int i = 0; i < sequence.Count; i++) {
						var identifier = AlgorithmIdentifier.GetInstance (sequence[i]);
						EncryptionAlgorithm algorithm;

						if (TryGetEncryptionAlgorithm (identifier, out algorithm))
							algorithms.Add (algorithm);
					}

					return algorithms.ToArray ();
				}
			}
		}