Understand the bridge
Both operations post to/home/v1/excrypt. Each call submits one Host API command as a JSON body, where the four-character AO token names the command and the remaining tokens become additional key-value pairs.
The endpoint returns 200 for both success and protocol-level failure, so inspect the body rather than the status code:
- On success,
AOechoes the command name andANisY. - On failure,
AOis the literalERRO,AMcarries a numeric error code,ANnames the offending field, andBBcarries the error description.
Token-level data types follow the Host API command documentation rather than a REST schema. When a value does not behave as expected, check the reference page for that specific command.
Generate the RSA key pair
SendRKPK to generate the key pair and persist it into the key group.
Request
KU sets the key usage. S is asymmetric sign and verify, the usage a CSR-signing key needs. CryptoHub reads the leading usage character, so a value such as SV is also accepted as sign and verify.An RKPK-generated key pair persists by default. This example sends
FC:1 to persist it explicitly. Only an explicit FC:0 returns a temporary result that is not stored in the key group, which would leave the CSR step with no key to reference.www.example.com_20260729_143000.
A successful response echoes the command with
AN set to Y, returns the wrapped private key in RC, the public key in SD, a supplemental payload in DS, an operation reference in AE, and the UUID of the persisted key pair in ID:Response
RC holds the private key encrypted under the selected major key, not the private key in the clear. The usable private key never leaves the HSM.ID. If key generation fails, log the intended key name and stop the workflow, so an operator can confirm no orphaned key was left behind.
Generate the certificate signing request
SendRKOP with OP set to request to export a PKCS #10 request. Select the RKPK-generated key pair by name in NA and supply the subject fields. CryptoHub signs the request with the resident private key and returns it as hex-encoded DER in the RH token.
Request
On CryptoHub 7.0.3.x,
RKOP with OP=request accepts a key-name selector (NA) and the subject-override tokens above, so it builds the request directly from the RKPK-generated key pair. The RKOP: Request reference describes selecting an existing certificate by its CA container and name, which is the form later firmware uses. This guide documents the 7.0.3.x key-name form.A successful response returns
AN set to Y and the request in RH:Response
Decode the request
RH is hex-encoded DER, not PEM. Decode the hex to binary before submitting or inspecting it:
Shell
sha256WithRSAEncryption, before you submit the request to a certificate authority.

