Skip to main content

Module kms_client

Module kms_client 

Source
Expand description

KMS client for ECDH key exchange and encryption key retrieval.

Implements the Webex KMS protocol:

  1. Fetch KMS cluster details (rsaPublicKey, kmsCluster)
  2. ECDH handshake: generate local P-256 keypair, wrap with RSA-OAEP, send via HTTP, receive response via Mercury, derive shared key
  3. Key retrieval: wrap request with ECDH-derived key, send via HTTP, receive via Mercury, unwrap to get content key
  4. Content keys are JWE A256KW + A256GCM

Structsยง

KmsClient
KMS client for Webex end-to-end encryption.
KmsResponseHandler
Handle for resolving KMS responses from Mercury.