1

我正在尝试使用 OpenSSL 库对 pdf 文档进行数字签名。现在我想从 pdf 文档内容中获取摘要。我只找到了从ASN1_ITEM. 但我所拥有的是可以在需要ASN1_OCTET_STRING时转换为的对象。ASN1_TYPE我想应该有某种方法可以将ASN1_TYPE或转换ASN1_OCTET_STRINGASN1_ITEM. 但我不明白如何ASN1_TYPEASN1_TYPE相关。

PS 如果有人分享某种适当的 OpenSSL 文档,将不胜感激。我能找到的主要是没有适当解释的源文件。

4

1 回答 1

2

由于您编写了“我所拥有的是对象”,因此在实用程序文档的ASN1_OCTET_STRINGNOTES 部分下找到的以下代码段似乎很有用:ASN1_STRING

OpenSSL 中几乎所有的 ASN1 类型都表示为一个ASN1_STRING 结构。其他类型,例如ASN1_OCTET_STRING只是 typedef'edASN1_STRING和函数调用ASN1_STRING 等价物。

(您可以验证这发生在 中ossl_typ.h,它实际上不是 atypedef而是 a #define

同一文档页面提供了一个函数ASN1_STRING_to_UTF8(),您可以使用该函数来获取数据的表示unsigned char *形式及其长度。一旦你有了它,你就可以根据自己的喜好计算一个摘要

这不是对您“如何ASN1_TYPE以及ASN1_ITEM相关”问题的答案,但它似乎涵盖了您所描述的问题。如果不是这种情况,请澄清。

于 2018-11-29T05:48:12.803 回答