Security Продвинутый

Нативное кодирование и декодирование криптографических объектов в формате PEM.

✕ Java 8
String pem = "-----BEGIN CERTIFICATE-----\n"
    + Base64.getMimeEncoder()
        .encodeToString(
            cert.getEncoded())
    + "\n-----END CERTIFICATE-----";
✓ Java 25 (Preview)
// Encode to PEM
String pem = PEMEncoder.of()
    .encodeToString(cert);
// Decode from PEM
var cert = PEMDecoder.of()
    .decode(pemString);
Заметили проблему в этом коде? Сообщите нам.
🧹

Без ручного Base64

Заголовки PEM, перенос строк и Base64 обрабатываются автоматически.

🔄

Двунаправленный

Кодирование в PEM и декодирование из PEM с помощью одного API.

🛡️

Стандартный формат

Создаёт PEM-вывод, соответствующий RFC 7468.

Старый подход
Ручной Base64 + заголовки
Современный подход
PEM API
Начиная с JDK
25
Сложность
Продвинутый
Кодирование/декодирование PEM
Предварительный просмотр

Предварительная версия в JDK 25 (JEP 470). Требует --enable-preview.

PEM API предоставляет стандартное кодирование/декодирование для сертификатов, ключей и других криптографических объектов в формате PEM. Больше никакого ручного оборачивания Base64 с заголовками BEGIN/END.