从Base64字符串中解析TimeStamp标记

时间:2016-10-21 18:45:09

标签: c# digital-signature bouncycastle asn.1

我试图创建XAdES-T签名。在我的C#应用​​程序中,我打电话给"中间"将字符串作为输入并返回Base64字符串的Web服务。

在该字符串中编码为n.1架构,其中某处应该是TimeStamp Token。我解读了它,但没有看到任何可以理解的东西。

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

我真的输了。

1 个答案:

答案 0 :(得分:0)

好的,我想出来了。

我在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)));