从Base64字符串中解析时间戳标记

本文关键字:时间戳 Base64 字符串 | 更新日期: 2023-09-27 18:14:09

我正在尝试创建XAdES-T签名。在我的c#应用程序中,我调用了一个"中间人"web服务,它以字符串作为输入,并返回Base64字符串。

在该字符串中被编码为asn。schema中应该有TimeStamp Token。我破译了,但没有看到任何可以理解的东西。

我被告知我应该使用BouncyCastle.Asn1.Tsp.TimestampResp。但是没有合适的构造函数接受string。

从Base64字符串中解析时间戳标记

好吧,我还是想明白了。

我发现这个代码在bccrypto src文件夹,我从他们的网站下载。

 private static TimeStampResp readTimeStampResp(
        Asn1InputStream input)
    {
        try
        {
            return TimeStampResp.GetInstance(input.ReadObject());
        }
        catch (ArgumentException e)
        {
            throw new TspException("malformed timestamp response: " + e, e);
        }
        catch (InvalidCastException e)
        {
            throw new TspException("malformed timestamp response: " + e, e);
        }
    }

然后我就像这样调用这个方法。

var tsResp = readTimeStampResp(new Asn1InputStream(Convert.FromBase64String(tsRespB64)));