---
name: java-ml-dsa
description: "Use when Java 24+ crypto needs quantum-resistant ML-DSA signatures via standard JCA APIs."
license: CC-BY-4.0-summary
compatibility: "JDK 24+"
metadata:
sources:
- "https://openjdk.org/jeps/497"
---
# ML-DSA
Use for **ML-DSA** work from [JEP 497](https://openjdk.org/jeps/497) when targeting JDK 24+.
## When active
- Use `KeyPairGenerator`, `Signature`, and `KeyFactory` with `ML-DSA`.
- Choose `ML-DSA-44`, `ML-DSA-65`, or `ML-DSA-87`.
- Use parameter-set-specific algorithms when strict matching matters.
## Pitfalls
- ML-DSA is not Dilithium-compatible.
- Integer key-size initialization is invalid.
- JDK 24 does not add ML-DSA for TLS or JAR signing.
## Examples
Read `examples/jep-497.md` for JEP-derived snippets.
## References
- https://openjdk.org/jeps/497