Ich habe eine Unterschrift mit Zeitstempel. Ich versuche den Zeitstempel zu dekodieren und seine Eigenschaften zu dekodieren.Wie Zeitstempel aus digitaler PKCS7-Signatur zu decodieren?
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;
}
}
}
Aber ich verstehe nicht, wie kann ich asnData.RawData
Wenigstens muss ich erhalten Datum und überprüfen dekodieren, dass die timstamp korrekt ist (es Unterschrift gültig ist)
Haben Sie irgendwelche Ideen oder Erfahrung? Danke
Funktioniert die 'CheckSignature'-Methode nicht schon? –
Nein, tut es nicht. CheckSignature prüft nur die Signatur. Timestap ist an diesem Methodenaufruf nicht beteiligt. – VoimiX