Соответствующий раздел RFC 3161:
Если поле certReq присутствует и имеет значение true, открытый ключ TSA
сертификат, на который ссылается идентификатор ESSCertID внутри
Атрибут SigningCertificate в ответе ДОЛЖЕН быть предоставлен
TSA в поле сертификатов из структуры SignedData в этом
ответ. Это поле может также содержать другие сертификаты.
Итак, прежде всего вам необходимо убедиться, что certReq имеет значение true в запросе. Это опция в конструкторе Org.BouncyCastle.Asn1.Tsp.TimeStampReq.
Затем в ответе будет содержаться сертификат, и, поскольку там могут быть и другие сертификаты, вам необходимо найти тот, который использовался для подписи метки времени:
TimeStampResponse resp = ...;
TimeStampToken tsToken = resp.TimeStampToken;
IX509Store store = tsToken.GetCertificates("Collection");
SignerID signerID = tsToken.SignerID;
ICollection matches = store.GetMatches(signerID);
В этой коллекции "спичек" должен быть ровно один сертификат.