Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
camel-pqc-tls — Примеры TLS 1.3 с постквантовой криптографией (PQC) на Apache Camel с использованием гибридного обмена ключами X25519MLKEM768 на JDK 21 (BouncyCastle) и JDK 27 (нативный) | Kitploit
Инструменты/GitHubGitHub/oscerd/camel-pqc-tls
Сетевая безопасностьКриптографияОбучение и ОбразованиеПодобранные Ресурсы
GitHuboscerd/camel-pqc-tls

camel-pqc-tls

Примеры TLS 1.3 с постквантовой криптографией (PQC) на Apache Camel с использованием гибридного обмена ключами X25519MLKEM768 на JDK 21 (BouncyCastle) и JDK 27 (нативный)

Репозиторий
213 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Постквантовый TLS с Apache Camel

Этот репозиторий содержит три примера, демонстрирующих постквантовые (PQC) рукопожатия TLS 1.3 с Apache Camel, использующие гибридный обмен ключами X25519MLKEM768.

X25519MLKEM768 сочетает классический X25519 (эллиптическая кривая Диффи-Хеллмана) с ML-KEM-768 — постквантовым механизмом инкапсуляции ключей на основе решёток (NIST FIPS 203). Оба алгоритма работают вместе, поэтому безопасность сохраняется, даже если один из них будет взломан.

Примеры

ПримерJDKTLS-провайдерПодход
pqc-ssl-contextJDK 27SunJSSE (нативный JDK)JEP 527 добавляет PQC именованные группы во встроенный TLS-стек JDK
pqc-kem-jdk24JDK 24BouncyCastle JSSE 1.83BCJSSE для PQC TLS, JDK имеет нативные примитивы ML-KEM через JEP 496
pqc-ssl-context-jdk21JDK 21BouncyCastle JSSE 1.83BCJSSE заменяет SunJSSE, чтобы обеспечить поддержку PQC TLS уже сегодня

Все три примера настраиваются полностью через свойства camel.ssl.* и выполняют автономное рукопожатие TLS 1.3 с использованием X25519MLKEM768 для постквантового обмена ключами; оно проверяется при запуске и доступно по запросу через REST-эндпоинты.

Чем они отличаются

Нативный JDK 27 (pqc-ssl-context)

Использует встроенный провайдер JDK SunJSSE, который получает поддержку PQC TLS благодаря JEP 527 в JDK 27.

  • PQC настраивается через camel.ssl.namedGroups=X25519MLKEM768,x25519
  • Самоподписанный сертификат генерируется автоматически (camel.ssl.selfSigned=true)
  • REST-эндпоинты обслуживаются по HTTPS на порту 8443
  • Именованные группы задаются через SSLParameters.setNamedGroups() (стандартный JDK API)

JDK 24 с BouncyCastle (pqc-kem-jdk24)

Использует JSSE-провайдер BouncyCastle (BCJSSE), чтобы добавить поддержку PQC TLS в JDK 24. Хотя JDK 24 включает нативный ML-KEM как отдельный криптографический примитив (JEP 496), он не предоставляет PQC именованные группы в своём TLS-стеке. BCJSSE устраняет этот пробел.

  • PQC настраивается через camel.ssl.provider=BCJSSE и camel.ssl.namedGroups=X25519MLKEM768,secp256r1
  • Самоподписанный сертификат генерируется автоматически (camel.ssl.selfSigned=true)
  • REST-эндпоинты обслуживаются по HTTPS на порту 8443
  • Дополнительный эндпоинт /api/verify-kem демонстрирует нативный API javax.crypto.KEM в JDK 24 с тестами совместимости между провайдерами
  • Требуется загрузочный класс для регистрации провайдеров BouncyCastle

JDK 21 с BouncyCastle (pqc-ssl-context-jdk21)

Использует JSSE-провайдер BouncyCastle (BCJSSE), чтобы добавить поддержку PQC TLS в JDK 21, не дожидаясь JDK 27.

  • PQC настраивается через camel.ssl.provider=BCJSSE и camel.ssl.namedGroups=X25519MLKEM768,secp256r1
  • Самоподписанный сертификат генерируется автоматически (camel.ssl.selfSigned=true)
  • REST-эндпоинты обслуживаются по HTTPS на порту 8443
  • Требуется загрузочный класс для регистрации провайдеров BouncyCastle и удаления ECDH из jdk.tls.disabledAlgorithms

Сравнение бок о бок

Предварительные требования

  • Maven 3.9+
  • Apache Camel 4.19.0-SNAPSHOT (или новее), установленный в локальном репозитории Maven
  • JDK 27 EA для нативного примера, JDK 24 для примера на JDK 24 или JDK 21+ для примера на JDK 21

Быстрый старт

Пример на JDK 27

root@kitploit:~
cd pqc-ssl-context
sdk use java 27.ea.11-open
mvn clean compile exec:exec
curl -k https://localhost:8443/api/verify-pqc

Пример на JDK 24

root@kitploit:~
cd pqc-kem-jdk24
sdk use java 24.0.1-tem
mvn clean compile exec:exec
curl -k https://localhost:8443/api/verify-pqc
curl -k https://localhost:8443/api/verify-kem

Пример на JDK 21

root@kitploit:~
cd pqc-ssl-context-jdk21
sdk use java 21.0.10-tem
mvn clean compile exec:exec
curl -k https://localhost:8443/api/verify-pqc

Во всех трёх случаях будет возвращено "pqcVerified": true, если рукопожатие PQC TLS завершилось успешно.

Совместимость с JDK

Помощь и вклад

Если у вас возникли проблемы при использовании Camel или есть отзывы, пожалуйста, сообщите нам.

Мы также любим контрибьюторов, поэтому присоединяйтесь :-)

Всадники Camel!

Скачать инструмент
АспектНативный JDK 27JDK 24 + BouncyCastleJDK 21 + BouncyCastle
Требование к JDKJDK 27 EAJDK 24+JDK 21+
TLS-провайдерSunJSSEBCJSSE 1.83BCJSSE 1.83
Механизм PQCJEP 527 (встроенный)Библиотека TLS BouncyCastleБиблиотека TLS BouncyCastle
Нативный ML-KEM (KEM API)ДаДа (JEP 496)Нет
Конфигурациясвойства camel.ssl.*свойства camel.ssl.*свойства camel.ssl.*
Управление сертификатамиcamel.ssl.selfSigned=truecamel.ssl.selfSigned=truecamel.ssl.selfSigned=true
REST-порт8443 (HTTPS)8443 (HTTPS)8443 (HTTPS)
Дополнительные зависимостиНет (нативный JDK)bcprov, bctlsbcprov, bctls
Версия JDKML-KEM KEM APIPQC в TLSПодход
21НетДа (через BouncyCastle)pqc-ssl-context-jdk21 - BCJSSE обеспечивает поддержку PQC TLS
24Да (JEP 496)Да (через BouncyCastle)pqc-kem-jdk24 - BCJSSE для TLS, JDK имеет нативные примитивы ML-KEM
27ДаДа (нативный)pqc-ssl-context - JEP 527 добавляет PQC в SunJSSE