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;