Таблица поддерживаемых OID

Object Identifier (OID) — это иерархически структурированная последовательность чисел, используемая для однозначной идентификации криптографических алгоритмов, атрибутов сертификатов, расширений X.509 и множества других ASN.1-структур. В библиотеке Jsrsasign работа с OID является фундаментальной частью парсинга и генерации сертификатов, CMS, PKCS#7 и криптографических объектов.

OID в X.509-сертификатах применяются для описания:

  • алгоритмов подписи (Signature Algorithm)
  • алгоритмов хэширования
  • публичных ключей
  • расширений сертификатов (Extensions)
  • атрибутов субъектов и издателей

Основные группы OID, поддерживаемые Jsrsasign

OID в Jsrsasign сгруппированы по функциональному назначению. Каждая группа соответствует определённой области криптографической инфраструктуры.


1. Алгоритмы хэширования

Алгоритм OID
MD5 1.2.840.113549.2.5
SHA-1 1.3.14.3.2.26
SHA-224 2.16.840.1.101.3.4.2.4
SHA-256 2.16.840.1.101.3.4.2.1
SHA-384 2.16.840.1.101.3.4.2.2
SHA-512 2.16.840.1.101.3.4.2.3

Эти OID используются внутри структуры AlgorithmIdentifier в сертификатах X.509 и при формировании цифровой подписи.


2. Алгоритмы подписи (RSA, ECDSA и др.)

Алгоритм OID
rsaEncryption 1.2.840.113549.1.1.1
md5WithRSAEncryption 1.2.840.113549.1.1.4
sha1WithRSAEncryption 1.2.840.113549.1.1.5
sha256WithRSAEncryption 1.2.840.113549.1.1.11
sha384WithRSAEncryption 1.2.840.113549.1.1.12
sha512WithRSAEncryption 1.2.840.113549.1.1.13
ecdsa-with-SHA1 1.2.840.10045.4.1
ecdsa-with-SHA256 1.2.840.10045.4.3.2
ecdsa-with-SHA384 1.2.840.10045.4.3.3
ecdsa-with-SHA512 1.2.840.10045.4.3.4

Эти OID критичны для определения способа подписи сертификата и проверки цепочек доверия.


3. Алгоритмы публичных ключей

Алгоритм OID
RSA 1.2.840.113549.1.1.1
DSA 1.2.840.10040.4.1
EC Public Key 1.2.840.10045.2.1
Diffie-Hellman 1.2.840.113549.1.3.1

В структуре SubjectPublicKeyInfo OID определяет тип ключа, после чего следует битовое представление ключа.


4. Кривые эллиптической криптографии (ECC)

Кривая OID
secp256r1 (P-256) 1.2.840.10045.3.1.7
secp384r1 (P-384) 1.3.132.0.34
secp521r1 (P-521) 1.3.132.0.35

Эти OID используются совместно с алгоритмом id-ecPublicKey для точного указания параметров кривой.


5. Атрибуты X.500 / Distinguished Name (DN)

Атрибут OID
Common Name (CN) 2.5.4.3
Country (C) 2.5.4.6
Organization (O) 2.5.4.10
Organizational Unit (OU) 2.5.4.11
Locality (L) 2.5.4.7
State/Province (ST) 2.5.4.8
Email Address 1.2.840.113549.1.9.1

Эти OID формируют структуру субъекта и издателя сертификата (Subject / Issuer).


6. Расширения X.509 сертификатов

Расширение OID
Basic Constraints 2.5.29.19
Key Usage 2.5.29.15
Extended Key Usage 2.5.29.37
Subject Alternative Name 2.5.29.17
Authority Key Identifier 2.5.29.35
Subject Key Identifier 2.5.29.14
Certificate Policies 2.5.29.32
CRL Distribution Points 2.5.29.31

Расширения определяют ограничения использования сертификата и его поведение в инфраструктуре PKI.


7. Extended Key Usage (EKU)

Назначение OID
TLS Web Server Authentication 1.3.6.1.5.5.7.3.1
TLS Web Client Authentication 1.3.6.1.5.5.7.3.2
Code Signing 1.3.6.1.5.5.7.3.3
Email Protection 1.3.6.1.5.5.7.3.4
Time Stamping 1.3.6.1.5.5.7.3.8

EKU определяет конкретные сценарии применения сертификата.


8. PKCS-алгоритмы и структуры

Структура OID
PKCS#1 RSA Encryption 1.2.840.113549.1.1.1
PKCS#7 Data 1.2.840.113549.1.7.1
PKCS#7 Signed Data 1.2.840.113549.1.7.2
PKCS#10 Certification Request 1.2.840.113549.1.10.1
Content Type Attribute 1.2.840.113549.1.9.3
Message Digest Attribute 1.2.840.113549.1.9.4

Эти OID используются при создании CSR, CMS и подписанных сообщений.


9. CMS (Cryptographic Message Syntax)

Тип OID
Data 1.2.840.113549.1.7.1
Signed Data 1.2.840.113549.1.7.2
Enveloped Data 1.2.840.113549.1.7.3
Digested Data 1.2.840.113549.1.7.5
Encrypted Data 1.2.840.113549.1.7.6

CMS используется для создания подписанных и зашифрованных сообщений поверх ASN.1.


10. Алгоритмы шифрования

Алгоритм OID
AES-128-CBC 2.16.840.1.101.3.4.1.2
AES-192-CBC 2.16.840.1.101.3.4.1.22
AES-256-CBC 2.16.840.1.101.3.4.1.42
DES-CBC 1.3.14.3.2.7
Triple DES (3DES) 1.2.840.113549.3.7

Эти идентификаторы используются в структурах шифрования CMS и PKCS#8.


11. Часто используемые служебные OID

Назначение OID
RSA OAEP 1.2.840.113549.1.1.7
MGF1 1.2.840.113549.1.1.8
PBE With SHA1 and 3DES 1.2.840.113549.1.12.1.3
PBKDF2 1.2.840.113549.1.5.12

Эти OID применяются в криптографических схемах усиленной защиты ключей и паролей.


Структурные особенности представления OID в Jsrsasign

Внутренне Jsrsasign использует строковое представление OID в формате:

"1.2.840.113549.1.1.11"

При парсинге ASN.1 структура преобразуется в числовой массив, а затем обратно в строку при сериализации. Важные моменты:

  • OID всегда уникален в пределах глобальной иерархии
  • сравнение OID выполняется как строковое или массивное
  • неизвестные OID сохраняются без интерпретации

Роль OID в ASN.1 структурах Jsrsasign

OID используется в ключевых структурах:

  • AlgorithmIdentifier
  • AttributeType
  • Extension
  • KeyUsage
  • PolicyInformation
  • SubjectPublicKeyInfo

Любая ошибка в OID приводит к невозможности валидации сертификата или некорректной криптографической интерпретации данных.