Перейти к содержимому
ecdsa.com

SubjectPublicKeyInfo (SPKI)

Структура ASN.1 из RFC 5280, которая объединяет идентификатор алгоритма с битами открытого ключа; используется в каждом сертификате X.509 и как стандартный формат файла открытого ключа (-----BEGIN PUBLIC KEY-----).
Другие написанияSubjectPublicKeyInfoBEGIN PUBLIC KEYX.509 public keyPKIX public key

SubjectPublicKeyInfo — это SEQUENCE из AlgorithmIdentifier и поля subjectPublicKey типа BIT STRING. Для ключей EC алгоритм — id-ecPublicKey с OID кривой в качестве параметра, а битовая строка содержит точку в формате SEC 1; для RSA — rsaEncryption с параметрами NULL и RSAPublicKey из PKCS #1 внутри; для Ed25519 — 1.3.101.112 без параметров и 32 байта. Размер в DER: 91 байт для P-256, 294 для RSA-2048, 44 для Ed25519.

Это формат обмена открытыми ключами: его используют OpenSSL -pubout, X509EncodedKeySpec в Java, x509.MarshalPKIXPublicKey в Go, экспорт spki в WebCrypto и большинство библиотек JWT. Хеши SPKI служат идентификаторами на уровне ключа, которые не меняются при продлении сертификата: на них основаны закрепления в стиле HPKP (pin-sha256), мониторинг Certificate Transparency и CRLSets в Chrome.

Стандарты и ссылки

Все термины