cloudflare
Version:
The official TypeScript library for the Cloudflare API
75 lines • 2.67 kB
TypeScript
import { APIResource } from "../../../core/resource.js";
import { APIPromise } from "../../../core/api-promise.js";
import { RequestOptions } from "../../../internal/request-options.js";
export declare class BaseTLS extends APIResource {
static readonly _key: readonly ['radar', 'postQuantum', 'tls'];
/**
* Tests whether a hostname or IP address supports Post-Quantum (PQ) TLS key
* exchange. Returns information about the negotiated key exchange algorithm,
* whether it uses PQ cryptography, and any detected TLS implementation bugs (Split
* ClientHello, HRR failure, etc.).
*
* @example
* ```ts
* const response = await client.radar.postQuantum.tls.support(
* { host: 'cloudflare.com' },
* );
* ```
*/
support(query: TLSSupportParams, options?: RequestOptions): APIPromise<TLSSupportResponse>;
}
export declare class TLS extends BaseTLS {
}
export interface TLSSupportResponse {
bugs: TLSSupportResponse.Bugs;
/**
* The host that was tested
*/
host: string;
/**
* TLS CurveID of the negotiated key exchange
*/
kex: number;
/**
* Human-readable name of the key exchange algorithm
*/
kexName: string;
/**
* Whether the negotiated key exchange uses Post-Quantum cryptography (specifically
* X25519MLKEM768)
*/
pq: boolean;
}
export declare namespace TLSSupportResponse {
interface Bugs {
/**
* Server sends a HelloRetryRequest but fails to complete the handshake after the
* client sends the second ClientHello. Often caused by non-compliant TLS 1.3
* implementations on shared hosting providers.
*/
hrrFailure: boolean;
/**
* Server rejects fragmented ClientHello caused by large PQ keyshare, but accepts
* classical (non-PQ) handshakes. Typically caused by middleboxes or firewalls that
* cannot reassemble split TLS ClientHello messages.
*/
splitClientHello: boolean;
/**
* Server cannot handle an unknown key exchange algorithm in the ClientHello
* keyshare extension. Compliant servers should respond with HelloRetryRequest for
* a supported algorithm.
*/
unknownKeyshare: boolean;
}
}
export interface TLSSupportParams {
/**
* Hostname or IP address to test for Post-Quantum TLS support, optionally with
* port (defaults to 443).
*/
host: string;
}
export declare namespace TLS {
export { type TLSSupportResponse as TLSSupportResponse, type TLSSupportParams as TLSSupportParams };
}
//# sourceMappingURL=tls.d.ts.map