Таблица 4.4.13.2.4. Некоторые объектные идентификаторы и их значения
Величина объектного идентификатора |
Назначение |
{ 1 2 } |
Члены ISO |
{ 1 2 840 } |
US (ANSI) |
{ 1 2 840 113549} |
RSA Data Security, Inc. |
{ 1 2 840 113549 } |
RSA Data Security, Inc. PKCS (Public Key Cryptography Standard) |
{ 2 5 } |
Служба каталогов (X.500) |
{ 2 5 8 } |
Служба каталогов - алгоритмы |
BER-кодирование OBJECT IDENTIFIER является всегда примитивным. Октеты содержимого представляют собой объединение n-1 строки октетов, где n число компонент объектного идентификатора. Каждая октетная строка несет в себе целое число по модулю 128 (старшая часть первая). 8-ой бит каждого октета, кроме последнего, равен 1. Пусть value1, …, valuen целые значения компонентов объектного идентификатора. Тогда n-1 субидентификаторов, из которых формируется октетная строка, будут иметь следующий вид.
+ value2. (значение value1 лежит в пределах 0-2 включительно, а value2 в интервале 0-39, когда value1 равна 0 или 1.
Например, субидентификаторы объектного идентификатора RSA Data Security, Inc. равны 42 = 40ґ 1 + 2, 840, 113549 и 1. В шестнадцатеричном представлении BER-код этого объектного идентификатора имеет вид:
06 07 2A 86 48 86 F7 0D 01
DER-кодирование в данном случае совпадает с BER.
Строки октетов
Тип OCTET STRING служит для представления произвольных последовательностей октетов. Значение OCTET STRING может иметь любую длину, включая нуль. OCTET STRING используется для представления сообщений, включая зашифрованные, а также для типа PBEParameter. Нотация типа OCTET STRING имеет формат.
OCTET STRING [SIZE ({size | size1..size2})]
где size, size1 и size2 опционные ограничения размера. В форме OCTET STRING SIZE(size) строка октетов должна иметь октеты size. В формате OCTET STRING SIZE(size1 .. size2) строка должна содержать число октетов между size1 и size2. Например, тип PBEParameter имеет компоненту типа OCTET STRING: