问候,
如何简单地将一些二进制数据编码为 ASN.1 DER 编码的 blob?我正在使用 C/C++,我认为应该可以简单地在二进制 blob 前面加上一些适当的字节,这些字节表示数据的类型是八位字节字符串并且具有给定的长度(并且在长度为 1 的序列中)猜测)。
有兴趣的背景:
为什么我要以这种方式滥用 ASN.1?对于一个研究项目,我需要在具有关联 X.509 证书的数字签名中嵌入一些数据。(如果重要的话,我在 Peter Gutmann 的 cryptlib 库中使用 createSignatureEx 来创建符合 CMS / S/MIME-2/3 / PKCS-#7 的签名。我没有对要编码的数据进行签名,只是将其添加为元数据到签名以丰富它。)据我了解,具有任意扩展数据的严重签名需要使用ASN.1 DER对扩展数据进行编码。我的数据是二进制 blob,仅对我的应用程序有用,因此对数据的每个部分进行正确的 ASN.1 编码没有真正的价值。我想通过一些工作我可以学会使用 asn1c 来做到这一点,但它看起来很复杂,而且我已经到了最后期限。同样重要的是,
谢谢!