假设标准中的特定消息存在特定的ASN 1表示。但问题是我们必须首先签署此邮件,然后根据ASN 1进行编码,否则我们必须首先转换为ASN 1和然后签名吗?
提前感谢您的帮助。
答案 0 :(得分:1)
这取决于您的应用程序,但通常的做法是在ASN中格式化消息,然后对生成的ASN结构进行签名。它看起来如下:
SignedMessage ::= SEQUENCE {
tbsData ToBeSignedData,
signatureAlgorithm AlgorithmIdentifier {SIGNATURE-ALGORITHM,
{sa-dsaWithSHA1 | sa-rsaWithSHA1 |
sa-rsaWithMD5 | sa-rsaWithMD2, ...}},
signature BIT STRING,
certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL }
}
这意味着签名是在tbsData
结构上计算的。