Java SDK

A Java SDK is not yet planned. CUI Labs ships first-party SDKs for TypeScript, Python, Go, and Rust today; Java is not on the v1.x roadmap.

Java SDK

A Java SDK is not yet planned. CUI Labs ships first-party SDKs for TypeScript, Python, Go, and Rust today; Java is not on the v1.x roadmap.

What to use instead

Java applications can integrate with QNSP through any of these paths — every QNSP service is a regulated REST API behind the same edge gateway, so any HTTP client works.

Direct REST calls via the edge gateway

All QNSP services are reachable at https://api.qnsp.cuilabs.io/proxy/<service>/.... Authenticate with your QNSP API key as a Bearer token. The first call your application makes should be POST /billing/v1/sdk/activate to validate the key and resolve your tenant tier — see SDK Activation for the exact handshake the first-party SDKs perform.

HttpClient http = HttpClient.newHttpClient();
HttpRequest activate = HttpRequest.newBuilder()
    .uri(URI.create("https://api.qnsp.cuilabs.io/billing/v1/sdk/activate"))
    .header("authorization", "Bearer " + System.getenv("QNSP_API_KEY"))
    .header("content-type", "application/json")
    .POST(HttpRequest.BodyPublishers.ofString(
        "{\"sdkId\":\"custom-java\",\"sdkVersion\":\"0.1.0\",\"runtime\":\"java\"}"))
    .build();

CLI invocation from a Java service

The @qnsp/cli tool can be invoked from a Java process via Runtime.exec for one-shot tasks. This is appropriate for batch / cron usage but not for high-throughput inline calls.

When a Java SDK might happen

If a first-party Java SDK would change your decision to adopt QNSP, write to engineering@cuilabs.io and tell us the use case + estimated volume. We prioritise SDK languages by stated demand from regulated customers.

Algorithm-name reference

If you implement your own thin Java wrapper for QNSP, mirror the algorithm-name surface used by the four shipped SDKs (TypeScript, Python, Go, Rust) so the byte-for-byte outputs round-trip across languages. The canonical names are:

  • KEMs: ML-KEM-512, ML-KEM-768, ML-KEM-1024, Kyber512..1024, HQC-128..256, BIKE-L1..L5, FrodoKEM-{640,976,1344}-{AES,SHAKE}, Classic-McEliece-*, sntrup761
  • Signatures: ML-DSA-{44,65,87}, Dilithium{2,3,5}, Falcon-{512,1024}, SLH-DSA-{SHA2,SHAKE}-{128,192,256}{f,s}, MAYO-{1,2,3,5}, cross-rsdp{,g}-{128,192,256}-{balanced,fast,small}

These match the names exposed by liboqs 0.12.0.