C# Как получить время подписания из PKCS7 подписи с помощью BouncyCastle

есть система, в которую я импортирую подписи(Система закрытая). В нашем формате PKCS7 хранятся несколько подписующих, то есть подписывает сначала один человек, потом второй, потом третий. С помощью BouncyCastle я разделяю эти подписи и импортирую в систему. Проблема заключается в следующем, после того, подписал последний человек, как импортировать именно его подпись, а не случайную из массива? Я пробовал доставать с помощью Last(), и у меня выходил первый подписующий, но если воспользоваться First(), то выходит кто-то рандомный из всего масива. Код разъединения подписей:

 var result = new List<byte[]>();

  var signedData = SignedData.GetInstance(ContentInfo.GetInstance(Asn1Object.FromByteArray(signature)).Content);
  var digestAlgorithms = signedData.DigestAlgorithms != null ? new DerSet(signedData.DigestAlgorithms.OfType<Asn1Encodable>().Distinct().ToArray()) : null;
  var certificates = signedData.Certificates != null ? new DerSet(signedData.Certificates.OfType<Asn1Encodable>().Distinct().ToArray()) : null;
  var crls = signedData.CRLs != null ? new DerSet(signedData.CRLs.OfType<Asn1Encodable>().Distinct().ToArray()) : null;

  foreach(var signerInfo in signedData.SignerInfos.ToArray())
  {
    var newSignedData = new SignedData(digestAlgorithms, signedData.EncapContentInfo, certificates, crls, new DerSet(signerInfo));
    result.Add(new ContentInfo(CmsObjectIdentifiers.SignedData, newSignedData).GetDerEncoded());
  }

  return result;

Ответы (0 шт):