Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
camel-pqc-tls — Cryptographie post-quantique (PQC) : exemples TLS 1.3 avec Apache Camel utilisant l'échange de clés hybride X25519MLKEM768 sur JDK 21 (BouncyCastle) et JDK 27 (natif) | Kitploit
Outils/GitHubGitHub/oscerd/camel-pqc-tls
Sécurité RéseauCryptographieApprentissage et ÉducationRessources Organisées
GitHuboscerd/camel-pqc-tls

camel-pqc-tls

Cryptographie post-quantique (PQC) : exemples TLS 1.3 avec Apache Camel utilisant l'échange de clés hybride X25519MLKEM768 sur JDK 21 (BouncyCastle) et JDK 27 (natif)

Voir le dépôt
21il y a 3 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

TLS post-quantique avec Apache Camel

Ce dépôt contient trois exemples illustrant des négociations TLS 1.3 avec cryptographie post-quantique (PQC) avec Apache Camel, utilisant l'échange de clés hybride X25519MLKEM768.

X25519MLKEM768 combine le Diffie-Hellman sur courbe elliptique classique X25519 avec ML-KEM-768, un mécanisme d'encapsulation de clé post-quantique à base de réseaux (NIST FIPS 203). Les deux algorithmes fonctionnent ensemble, de sorte que la sécurité est maintenue même si l'un d'eux est cassé.

Exemples

ExempleJDKFournisseur TLSApproche
pqc-ssl-contextJDK 27SunJSSE (natif JDK)JEP 527 ajoute des groupes nommés PQC à la pile TLS intégrée du JDK
pqc-kem-jdk24JDK 24BouncyCastle JSSE 1.83BCJSSE pour TLS PQC, le JDK dispose de primitives ML-KEM natives via JEP 496
pqc-ssl-context-jdk21JDK 21BouncyCastle JSSE 1.83BCJSSE remplace SunJSSE pour assurer la prise en charge PQC TLS dès aujourd'hui

Les trois exemples sont entièrement configurés via les propriétés camel.ssl.* et effectuent une négociation TLS 1.3 autonome utilisant X25519MLKEM768 pour l'échange de clés post-quantique, vérifiée au démarrage et disponible à la demande via des points de terminaison REST.

En quoi ils diffèrent

JDK 27 natif (pqc-ssl-context)

Utilise le fournisseur SunJSSE intégré au JDK, qui obtient la prise en charge TLS PQC via JEP 527 dans JDK 27.

  • PQC configuré via camel.ssl.namedGroups=X25519MLKEM768,x25519
  • Certificat auto-signé généré automatiquement (camel.ssl.selfSigned=true)
  • Points de terminaison REST servis en HTTPS sur le port 8443
  • Groupes nommés définis via SSLParameters.setNamedGroups() (API JDK standard)

JDK 24 avec BouncyCastle (pqc-kem-jdk24)

Utilise le fournisseur JSSE de BouncyCastle (BCJSSE) pour apporter la prise en charge TLS PQC à JDK 24. Bien que JDK 24 inclue ML-KEM natif en tant que primitive cryptographique autonome (JEP 496), il n'expose pas de groupes nommés PQC dans sa pile TLS. BCJSSE comble cette lacune.

  • PQC configuré via camel.ssl.provider=BCJSSE et camel.ssl.namedGroups=X25519MLKEM768,secp256r1
  • Certificat auto-signé généré automatiquement (camel.ssl.selfSigned=true)
  • Points de terminaison REST servis en HTTPS sur le port 8443
  • Le point de terminaison supplémentaire /api/verify-kem illustre l'API javax.crypto.KEM native de JDK 24 avec des tests d'interopérabilité entre fournisseurs
  • Nécessite une classe d'amorçage pour enregistrer les fournisseurs BouncyCastle

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

Utilise le fournisseur JSSE de BouncyCastle (BCJSSE) pour apporter la prise en charge TLS PQC à JDK 21, sans attendre JDK 27.

  • PQC configuré via camel.ssl.provider=BCJSSE et camel.ssl.namedGroups=X25519MLKEM768,secp256r1
  • Certificat auto-signé généré automatiquement (camel.ssl.selfSigned=true)
  • Points de terminaison REST servis en HTTPS sur le port 8443
  • Nécessite une classe d'amorçage pour enregistrer les fournisseurs BouncyCastle et supprimer ECDH de jdk.tls.disabledAlgorithms

Comparaison côte à côte

Prérequis

  • Maven 3.9+
  • Apache Camel 4.19.0-SNAPSHOT (ou version ultérieure) installé dans le dépôt Maven local
  • JDK 27 EA pour l'exemple natif, JDK 24 pour l'exemple JDK 24, ou JDK 21+ pour l'exemple JDK 21

Démarrage rapide

Exemple 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

Exemple 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

Exemple 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

Les trois renverront "pqcVerified": true lorsque la négociation TLS PQC aboutit.

Compatibilité JDK

Aide et contributions

Si vous rencontrez un problème avec Camel ou si vous avez des commentaires, n'hésitez pas à nous le faire savoir.

Nous aimons aussi les contributeurs, alors impliquez-vous :-)

Les cavaliers Camel !

Télécharger l’outil
AspectJDK 27 natifJDK 24 + BouncyCastleJDK 21 + BouncyCastle
Prérequis JDKJDK 27 EAJDK 24+JDK 21+
Fournisseur TLSSunJSSEBCJSSE 1.83BCJSSE 1.83
Mécanisme PQCJEP 527 (intégré)Bibliothèque TLS BouncyCastleBibliothèque TLS BouncyCastle
ML-KEM natif (API KEM)OuiOui (JEP 496)Non
ConfigurationPropriétés camel.ssl.*Propriétés camel.ssl.*Propriétés camel.ssl.*
Gestion des certificatscamel.ssl.selfSigned=truecamel.ssl.selfSigned=truecamel.ssl.selfSigned=true
Port REST8443 (HTTPS)8443 (HTTPS)8443 (HTTPS)
Dépendances supplémentairesAucune (JDK natif)bcprov, bctlsbcprov, bctls
Version JDKAPI KEM ML-KEMPQC en TLSApproche
21NonOui (via BouncyCastle)pqc-ssl-context-jdk21 - BCJSSE fournit la prise en charge TLS PQC
24Oui (JEP 496)Oui (via BouncyCastle)pqc-kem-jdk24 - BCJSSE pour TLS, JDK dispose de primitives ML-KEM natives
27OuiOui (natif)pqc-ssl-context - JEP 527 ajoute PQC à SunJSSE