openjdk.ruOpenJDK на русском

JEP 166: Overhaul JKS-JCEKS-PKCS12 Keystores

Переработка хранилищ ключей JKS-JCEKS-PKCS12

ОтветственныйVincent Ryan
ТипFeature
ОбластьJDK
СтатусClosed / Delivered
Выпуск8
Компонентsecurity-libs / java.security
Обсуждениеsecurity dash dev at openjdk dot java dot net
ТрудоёмкостьS
ДлительностьS
ОдобренMark Reinhold
Создан2011/08/31 20:00
Обновлён2026/08/04 23:17
Задача8046156

Аннотация

Упростить перенос данных из хранилищ ключей JKS и JCEKS, добавив эквивалентную поддержку в хранилище ключей PKCS#12. Расширить KeyStore API для поддержки новых возможностей, таких как метаданные записей и логические представления, охватывающие несколько хранилищ ключей. Дать возможность использовать для защиты записей хранилища ключей стойкие криптографические алгоритмы, появившиеся в JEP-121.

Мотивация

Упростить работу с хранилищами ключей Java SE для криптографических приложений, а также облегчить разработку и развёртывание таких приложений.

Текущий формат хранилища ключей по умолчанию специфичен для Java и не поддерживается за пределами Java SE. Приложениям приходится выполнять преобразование в наш формат и обратно. Простой перенос в открытый, широко поддерживаемый формат улучшил бы совместимость с Java SE.

Описание

Java SE обеспечивает безопасность с помощью криптографической информации, хранящейся в хранилищах ключей. Сейчас поддерживаются различные реализации хранилищ ключей. Формат хранилища ключей по умолчанию называется Java Key Store (JKS). JKS — специфичный для Java формат, он надёжен и хорошо служит платформе с момента её появления. Однако у него есть ряд ограничений, и его следует обновить.

PKCS#12 лучше подходит на роль хранилища ключей Java SE по умолчанию. Это открытая спецификация, которую широко поддерживают операционные системы, инструменты PKI и веб-браузеры. Хотя этот формат хранилища ключей уже поддерживается в Java SE, требуется ряд улучшений, чтобы в нём можно было хранить доверенные сертификаты и секретные ключи.

Кроме того, давно существует потребность в поддержке логических хранилищ ключей, охватывающих несколько физических хранилищ ключей. Логическое хранилище ключей избавляет от необходимости напрямую управлять группами хранилищ ключей.

Тестирование

Обеспечить, чтобы Mozilla OpenSSL Crypto Toolkit и популярные веб-браузеры могли работать с нашим форматом PKCS#12.