Поскольку вы пишете "то, что у меня есть * ASN1_OCTET_STRING
объект", следующий фрагмент, найденный в разделе NOTES документации ASN1_STRING
утилит *1003* , кажется полезным:
Почти все типы ASN1 в OpenSSL представлены как структура ASN1_STRING
.Другие типы, такие как ASN1_OCTET_STRING
, просто устанавливаются на ASN1_STRING
, а функции вызывают ASN1_STRING
эквиваленты.
(Вы можете убедиться, что это происходит в ossl_typ.h
, на самом деле это не typedef
, а #define
)
На той же странице документации есть функция ASN1_STRING_to_UTF8()
, которую можно использовать для получения представления данных в виде unsigned char *
в видеа также его длина.Получив это, вы можете вычислить дайджест по своему вкусу .
Это не ответ на ваш вопрос "как связаны ASN1_TYPE
и ASN1_ITEM
", но, похоже,охватить проблему, которую вы описываете.Если это не так, пожалуйста, уточните.