CAdES 的一个优点是它通常会导致较少的互操作性问题,因为 XML-DSig 标准允许许多选项,包括 XSLT、XPointer 框架、XML 规范化等等。如果只处理严格的 DER 编码签名(一旦需要处理 BER 编码,图片就会改变),那么 CAdES 的要求会更低。
在需要在大数据块上生成“附加”签名的情况下,CAdES 的性能优于 XAdES(您希望结果是包含原始数据和签名的单个数据块)。附加的 CAdES 签名(原始输入数据存储在 CMS 结构的 EncapContentInfo 元素中)的等价物是 Enveloping Signature。如果您需要生成这种签名,那么如果您的 XAdES 实现是基于 DOM 的(我所知道的是),那么在处理大量输入数据时您很可能会遇到问题 - 您的机器最终会用完的记忆。
性能将是 CAdES 受青睐的另一个论点。CAdES 的消息摘要计算通常直接在输入数据的原始字节上完成,在 XML 文档上计算的 XML 签名涉及很多开销,例如 XPath 表达式的评估、XSLT 转换、Base64 编码/解码和规范化,可能还有几个 Transform 元素。
如果您正在构建用于长期验证存储大量签名的签名的归档系统,则 CAdES 是首选格式,因为它与文本 XAdES 格式相比更紧凑。