BIT STRING в SubjectPublicKeyInfo зависит от вашего алгоритма открытого ключа. Содержимое снова кодируется в DER, см. RFC 3370 .
Если ваша подпись выглядит как
03 81 81 00 64 12 ... 24 B1 28
это должно быть истолковано следующим образом. DER - кодировка TLV (Tag - Length - Value). Таким образом, первый байт (по-своему октет) представляет тег - 03 для BIT STRING, как вы правильно заметили.
Второй байт определяет длину:
В длинной форме октеты длины должны состоять из начального октета и одного или нескольких последующих октетов. Начальный
Октет должен быть закодирован следующим образом:
а) бит 8 должен быть один;
b) биты с 7 по 1 должны кодировать число последующих октетов в октетах длины в виде двоичного целого без знака
с битом 7 в качестве самого старшего бита;
81
имеет бит 8, установленный в единицу, поэтому остальные биты указывают количество байтов, определяющих общую длину. В вашем случае это просто 1
байт. Таким образом, следующий байт - это ваша длина - 81 соответствует длине подписи 129 байтов. Таким образом, следующие 129 байтов представляют ваше значение, начиная с 00.