我有一個帶時間戳的簽名。 我想解碼時間戳並解碼它的屬性。如何解碼來自數字PKCS7簽名的時間戳?
var contentInfo = new ContentInfo(Convert.FromBase64String(data));
var signedCms = new SignedCms(contentInfo, true);
signedCms.Decode(Convert.FromBase64String(signature));
signedCms.CheckSignature(true);
foreach (var signerInfo in signedCms.SignerInfos)
{
foreach (var unsignedAttribute in signerInfo.UnsignedAttributes)
{
if (unsignedAttribute.Oid.Value == "1.2.840.113549.1.9.16.2.14")
{
AsnEncodedData asnData = unsignedAttribute.Values[0];
byte[] asnBinary = asnData.RawData;
}
}
}
但我不明白我怎麼能解碼asnData.RawData
至少我需要的日期和驗證timstamp是正確的(它的簽名是有效的)
你有什麼想法或經驗? 謝謝
'CheckSignature'方法不是你想要的嗎? –
不,它沒有。 CheckSignature只檢查簽名。時間戳不參與此方法調用 – VoimiX