upload_hitl_keys
Uploads a client-encrypted RSA-4096 keypair for a HITL config so the server can validate the public key and compute its key ID without accessing the user's password.
Instructions
Upload an encryption keypair for a HITL config. The server validates the RSA-4096 public key and computes the key ID. Note: the encrypted_private_key is already encrypted client-side with the user's password — the server never sees the password.
ACCESS: needs a Proof account. Set PROOF_API_KEY and restart this server, then call this tool again. start_login does NOT open this tool.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| dek_iv | No | v2 envelope: the IV of that wrapping | |
| dek_tag | No | v2 envelope: the GCM tag of that wrapping | |
| hitl_id | Yes | HITL config ID | |
| kdf_salt | Yes | Base64url-encoded PBKDF2 salt | |
| public_key | Yes | PEM-encoded RSA-4096 SPKI public key | |
| wrapped_dek | No | v2 envelope: the data key wrapped under the master key | |
| backup_dek_iv | No | v2 envelope: the IV of the recovery wrapping | |
| backup_dek_tag | No | v2 envelope: the GCM tag of the recovery wrapping | |
| backup_wrapped_dek | No | v2 envelope: the data key wrapped under the recovery code | |
| encrypted_private_key | Yes | JSON-serialized encrypted private key envelope (PBKDF2-SHA256+AES-256-GCM) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kid | Yes | The stored key's id | |
| message | Yes |