Skip to main content
The Excrypt protocol bridge returns 200 for both success and protocol-level failure, so read AO, AN, and BB in the response body rather than relying on the HTTP status code. A response with AO set to ERRO is a failure.

The bridge returns 403

Cause: The endpoint identity is not authorized for the Host API command in the AO field. Creating the AppViewX endpoint authorizes RKPK and RKOP:request automatically, so a 403 usually means the endpoint is missing or disabled, or was created from the wrong template. Fix: Confirm the AppViewX service is deployed and its endpoint exists and is enabled, as described in Prepare CryptoHub. If the endpoint is absent or was created from a different template, re-create it from the AppViewX service so it carries the RKPK and RKOP:request authorization.

The bridge returns 401

Cause: The request carried no valid session. Either the token was omitted, was malformed, or expired. Fix: Confirm the Authorization header is spelled correctly and carries the current token. Re-authenticate against /home/v1/login and retry. Configure AppViewX to re-authenticate based on tokenExpiration rather than a fixed interval.

BB says USER NOT LOGGED IN

Cause: The command reached the device without an authenticated Host API session. Fix: This indicates the session used for the bridge call is not the session the command sees. Confirm the login succeeded and returned fullyLoggedIn: true, and that the same session is carried on the bridge call.

BB says INVALID KEY USAGE

Cause: The KU value names a usage the key type does not support. Fix: Send KU as S for asymmetric sign and verify, the usage a CSR-signing key needs. CryptoHub reads the leading usage character, so SV is also accepted as sign and verify. See RKPK: Populate Generated Key Pair for the full list of usage values.

BB says EXPONENT OUT OF RANGE

Cause: The RA value is not a valid RSA exponent. This also occurs when RA is omitted, or when an ECC curve value is sent without setting KT to 2. Fix: Send RA as 10001, the hexadecimal form of 65537. The value must be odd.

BB says MODULUS SIZE OUT OF RANGE

Cause: The RB value is missing or is not a valid RSA modulus size. Fix: Send a modulus size divisible by 8, such as 2048 or 4096. Confirm the key group permits that size.

BB says INVALID MAJOR KEY

Cause: The MK value does not name a recognized major key. Fix: Send MK as 6 for the PMK, or 1 for the MFK. Confirm the selected major key is loaded on the device.

BB says Invalid hash type.

Cause: The hash selector is outside the supported range. RKOP accepts 1 through 7 only, and 0 is not valid. Fix: Send 4 for SHA-256, or omit the token to accept the SHA-256 default.

The CSR came back signed with an unexpected hash

Cause: The numeric hash encoding is not uniform across Host API commands. On RKOP, 2 is MD5, 3 is RIPEMD160, and 4 is SHA-256. A workflow that sends 2 expecting SHA-256 produces an MD5-signed request. Fix: Send 4 for SHA-256, then confirm the result with openssl req -inform DER -in request.der -text -noout and check the signatureAlgorithm field. Read the hash table on the reference page for the specific command you send rather than reusing a value from another command.

The key does not appear in the key group

Cause: The generation request sent FC:0, which returns a temporary result that is not stored. An RKPK key pair persists by default, so an explicit FC:0 is the usual cause. Fix: Omit FC, or send FC:1 to persist explicitly. Confirm the response carries an ID token, which is returned when the key pair is persisted.

The key exists but the symmetric key commands cannot find it

Cause: An RKPK-generated key pair is a PKI key pair, and the symmetric key commands do not operate on it. Fix: Use PGKE: Paginated Keys to list it and RKDP: Delete PKI Key Pair to remove it.

BB says ERROR RETRIEVING CERTIFICATE

Cause: The selector in the CSR command does not match an object on the device. In the 7.0.3.x key-name flow, NA does not match a persisted key pair. Fix: Confirm NA matches the key name recorded when you ran RKPK, and that the key pair persisted. List keys with PGKE: Paginated Keys to verify.

BB says Cannot sign request without private key.

Cause: The object the CSR command selected has no private key to sign with. Fix: Confirm NA names the RKPK-generated key pair, which holds its private key in the HSM. Confirm the key persisted and appears in PGKE: Paginated Keys.

The issued certificate has no subject alternative names

Cause: CryptoHub does not carry SANs in the CSR, and the certificate authority took SANs only from the CSR extension rather than from the request submission. Fix: Configure the certificate authority to accept SAN values supplied with the request, or configure the certificate template or profile to populate them. Reissue after correcting the configuration.

The CSR call returns a selector error

On CryptoHub 7.0.3.x, RKOP with OP=request builds the CSR directly from an RKPK-generated key pair selected by NA, together with the subject-override tokens. The RKOP: Request reference describes the certificate-selector form (CA plus RT, AL, or ID) that later firmware uses. If the call returns a selector or private key error, confirm you are sending the key-name form for 7.0.3.x: NA set to the RKPK key name, plus the subject tokens. Do not send a CA container selector with NA.