Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
camel-pqc-tls — Esempi di crittografia post-quantistica (PQC) per TLS 1.3 con Apache Camel, utilizzando lo scambio di chiavi ibrido X25519MLKEM768 su JDK 21 (BouncyCastle) e JDK 27 (nativo) | Kitploit
Strumenti/GitHubGitHub/oscerd/camel-pqc-tls
Sicurezza di ReteCrittografiaApprendimento e FormazioneRisorse Curate
GitHuboscerd/camel-pqc-tls

camel-pqc-tls

Esempi di crittografia post-quantistica (PQC) per TLS 1.3 con Apache Camel, utilizzando lo scambio di chiavi ibrido X25519MLKEM768 su JDK 21 (BouncyCastle) e JDK 27 (nativo)

Vedi Repository
2134 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

TLS Post-Quantum con Apache Camel

Questa repository contiene tre esempi che dimostrano gli handshake TLS 1.3 con crittografia post-quantistica (PQC) con Apache Camel, utilizzando lo scambio di chiavi ibrido X25519MLKEM768.

X25519MLKEM768 combina il classico X25519 Diffie-Hellman su curva ellittica con ML-KEM-768, un meccanismo di incapsulamento delle chiavi post-quantistico basato su reticoli (NIST FIPS 203). Entrambi gli algoritmi vengono eseguiti insieme, quindi la sicurezza è mantenuta anche se uno dei due viene compromesso.

Esempi

ExampleJDKTLS ProviderApproach
pqc-ssl-contextJDK 27SunJSSE (JDK native)JEP 527 aggiunge i named group PQC allo stack TLS integrato del JDK
pqc-kem-jdk24JDK 24BouncyCastle JSSE 1.83BCJSSE per TLS PQC, il JDK dispone di primitive ML-KEM native tramite JEP 496
pqc-ssl-context-jdk21JDK 21BouncyCastle JSSE 1.83BCJSSE sostituisce SunJSSE per fornire supporto TLS PQC oggi

Tutti e tre gli esempi sono configurati interamente tramite le proprietà camel.ssl.* ed eseguono un handshake TLS 1.3 autonomo usando X25519MLKEM768 per lo scambio di chiavi post-quantistico, verificato all'avvio e disponibile su richiesta tramite endpoint REST.

Come Differiscono

JDK 27 nativo (pqc-ssl-context)

Utilizza il provider SunJSSE integrato nel JDK, che ottiene il supporto TLS PQC tramite JEP 527 in JDK 27.

  • PQC configurato tramite camel.ssl.namedGroups=X25519MLKEM768,x25519
  • Certificato autofirmato generato automaticamente (camel.ssl.selfSigned=true)
  • Endpoint REST serviti su HTTPS sulla porta 8443
  • Named group impostati tramite SSLParameters.setNamedGroups() (API JDK standard)

JDK 24 con BouncyCastle (pqc-kem-jdk24)

Utilizza il provider JSSE di BouncyCastle (BCJSSE) per portare il supporto TLS PQC su JDK 24. Sebbene JDK 24 includa ML-KEM nativo come primitiva crittografica autonoma (JEP 496), non espone i named group PQC nel suo stack TLS. BCJSSE colma questa lacuna.

  • PQC configurato tramite camel.ssl.provider=BCJSSE e camel.ssl.namedGroups=X25519MLKEM768,secp256r1
  • Certificato autofirmato generato automaticamente (camel.ssl.selfSigned=true)
  • Endpoint REST serviti su HTTPS sulla porta 8443
  • Endpoint aggiuntivo /api/verify-kem che dimostra l'API nativa javax.crypto.KEM di JDK 24 con test di interoperabilità tra provider
  • Richiede una classe bootstrap per registrare i provider BouncyCastle

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

Utilizza il provider JSSE di BouncyCastle (BCJSSE) per portare il supporto TLS PQC su JDK 21, senza aspettare JDK 27.

  • PQC configurato tramite camel.ssl.provider=BCJSSE e camel.ssl.namedGroups=X25519MLKEM768,secp256r1
  • Certificato autofirmato generato automaticamente (camel.ssl.selfSigned=true)
  • Endpoint REST serviti su HTTPS sulla porta 8443
  • Richiede una classe bootstrap per registrare i provider BouncyCastle e rimuovere ECDH da jdk.tls.disabledAlgorithms

Confronto Fianco a Fianco

AspettoJDK 27 nativoJDK 24 + BouncyCastleJDK 21 + BouncyCastle
Requisito JDKJDK 27 EAJDK 24+JDK 21+
Provider TLSSunJSSEBCJSSE 1.83BCJSSE 1.83
Meccanismo PQCJEP 527 (integrato)Libreria TLS BouncyCastleLibreria TLS BouncyCastle
ML-KEM nativo (API KEM)SìSì (JEP 496)No
ConfigurazioneProprietà camel.ssl.*Proprietà camel.ssl.*Proprietà camel.ssl.*
Gestione certificaticamel.ssl.selfSigned=truecamel.ssl.selfSigned=truecamel.ssl.selfSigned=true
Porta REST8443 (HTTPS)8443 (HTTPS)8443 (HTTPS)
Dipendenze aggiuntiveNessuna (JDK nativo)bcprov, bctlsbcprov, bctls

Prerequisiti

  • Maven 3.9+
  • Apache Camel 4.19.0-SNAPSHOT (o successiva) installata nel repository Maven locale
  • JDK 27 EA per l'esempio nativo, JDK 24 per l'esempio JDK 24 oppure JDK 21+ per l'esempio JDK 21

Avvio Rapido

Esempio 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

Esempio 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

Esempio 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

Tutti e tre restituiranno "pqcVerified": true quando l'handshake TLS PQC avrà successo.

Compatibilità JDK

Versione JDKAPI KEM ML-KEMPQC in TLSApproccio
21NoSì (tramite BouncyCastle)pqc-ssl-context-jdk21 - BCJSSE fornisce supporto TLS PQC
24Sì (JEP 496)Sì (tramite BouncyCastle)pqc-kem-jdk24 - BCJSSE per TLS, il JDK dispone di primitive ML-KEM native
27SìSì (nativo)pqc-ssl-context - JEP 527 aggiunge PQC a SunJSSE

Supporto e Contributi

Se riscontri un problema con Camel o hai qualche feedback, ti preghiamo di contattarci.

Apprezziamo anche i contributori, quindi coinvolgiti :-)

I Camel riders!

Scarica lo strumento