Credentials
Octet Browser uses four credentials. None of them may reach the browser.
| Credential | Looks like | Goes in | Lifetime | Issued by |
|---|---|---|---|---|
| License token | octet_live_v4.public.… |
Your edge's LICENSE setting |
365 days | Octet, by email |
| Edge client certificate | octet-edge-<license ID>.crt, with a private key that stays on the edge host |
Your edge's EDGE_CLIENT_CERT_FILE and EDGE_CLIENT_KEY_FILE settings |
397 days | You, in the Octet portal, from a certificate request you create |
| Edge signing key | A 32-byte key in base64, created on the edge host. Its public half and kid appear in the edge's startup log |
Your edge's EDGE_SIGNING_KEY setting |
Until you revoke it | You, on the edge host, registered in the Octet portal |
| Read token | octet_read_v4.public.… |
Your backend's Authorization header |
30, 90, 180 or 365 days | You, in the Octet portal |
The license token lets your edge send sessions to Octet. The client certificate identifies your edge on its mutual TLS connection to Octet, and is bound to your license: Octet refuses a session whose client certificate belongs to another license. The signing key signs each session your edge forwards, and Octet checks that signature against the public keys registered for your license. The read token lets your backend fetch the verdicts for those sessions. A read token reads only the verdicts that arrived under its own license.
The license token, the read token, the edge's private key and the edge's signing key are secrets. The client certificate and the signing key's public half are not.
In the Octet portal, each Octet Browser license has two tabs. Edge configuration is for your edge server, with Certificates for its client certificates and Signing keys for its signing keys. Verdict API is for your backend, with Read tokens.
Get a license token
- Apply at browser.octetproof.com/signup.
- Octet reviews the application. When it is approved, Octet emails your license token and a link to the Octet portal.
- Put the token in your edge's environment as
LICENSE. See Deploy the Edge.
The license token is valid for 365 days from the day it is issued. Ask Octet for a new one before it expires, at developer@octetproof.com.
Get the edge's client certificate
The private key is created on the edge host and never leaves it. Octet sees only a certificate request:
- Sign in to the Octet portal at api.octetproof.com/portal/sign-in, open your Octet Browser license and select the Edge configuration tab, then Certificates. The page shows your license ID, a lowercase UUID, and the commands with it filled in.
- On the edge host, create a private key and a certificate request whose common name is exactly your license ID.
- In the Edge configuration tab, under Certificates, paste the request,
client.csr, or choose the file, and issue the certificate. - Download the certificate,
octet-edge-<license ID>.crt. It is valid for 397 days. Install it next to the key.
The commands are in Deploy the Edge. Only portal users with the owner or admin role can issue or revoke edge certificates, and only while the license is active. Every portal user can see and download them.
Each edge host gets its own key and certificate, all with your license ID as the common name. A license can have at most 3 live edge certificates at a time.
The key must be ECDSA P-256 or P-384, or RSA of 2048 bits or more. The portal refuses a request with any other key, or with a common name other than your license ID.
Renew an edge client certificate
Because a license can hold 3 live edge certificates, you can renew with no gap:
- Create a new key and certificate request on the edge host, as for the first certificate.
- Issue and download the new certificate in the Edge configuration tab, under Certificates.
- Install it, point
EDGE_CLIENT_CERT_FILEandEDGE_CLIENT_KEY_FILEat the new files, and restart the edge. - Confirm that the license check still returns
unsealed_bundle. - Revoke the old certificate in the Edge configuration tab, under Certificates.
Renew before the old certificate expires. An expired certificate gets 401 with "reason":"client_cert_required".
Register an edge signing key
The signing key is created on the edge host and never leaves it. Octet sees only its public half:
- On the edge host, create the key with
openssl rand -base64 32, and set it asEDGE_SIGNING_KEYin the edge's environment file. - Restart the edge. Its startup log shows
S2 signing on: kid=… ed25519 public key=…. - In the portal's Edge configuration tab, under Signing keys, paste the
kidand the public key, and select Register key.
The commands are in Deploy the Edge. Only portal users with the owner or admin role can register or revoke signing keys, and only while the license is active. A license can have at most 3 active signing keys at a time. A signing key doesn't expire.
Rotate an edge signing key
Because a license can hold 3 active signing keys, you can rotate with no gap:
- Create a new key on the edge host, set it as
EDGE_SIGNING_KEY, and restart the edge. - Register the new
kidand public key from the startup log. - Confirm that the license check still returns
unsealed_bundle. - Revoke the old key in the Edge configuration tab, under Signing keys.
Sessions the edge forwards between steps 1 and 2 carry a signature from a key Octet doesn't know yet. Once Octet requires edge signatures, it refuses those sessions with 401 and edge_key_unknown, so register the key straight after the restart.
Create a read token
- Sign in to the Octet portal at api.octetproof.com/portal/sign-in with the email address your license was issued to.
- Open your Octet Browser license and select the Verdict API tab, then Read tokens.
- Choose a lifetime of 30, 90, 180 or 365 days. The default is 90.
- Create the token and copy it straight into your backend's secret store. The portal shows it only once.
Only portal users with the owner or admin role can create or revoke read tokens, and only while the license is active. A license can have at most 5 live read tokens at a time.
Rotate a read token
Because a license can hold 5 live read tokens, you can rotate with no gap:
- Create a new read token.
- Deploy it to your backend.
- Confirm that verdict fetches succeed with the new token.
- Revoke the old token in the Verdict API tab, under Read tokens.
Rotate before the old token expires. An expired read token gets 401 with "error": "expired".
Revoke a credential
- Read token: revoke it in the portal's Verdict API tab, under Read tokens. Octet refuses it within minutes.
- License token: email developer@octetproof.com. Octet revokes it and issues a new one. Once the old token is revoked, your edge's requests get
401until you deploy the new one. - Edge client certificate: revoke it in the portal's Edge configuration tab, under Certificates, when an edge host is retired or its key may have been copied. Octet refuses it within about a minute, with
403andclient_cert_revoked. Your other certificates and your license keep working. - Edge signing key: revoke it in the portal's Edge configuration tab, under Signing keys, when an edge host is retired or the key may have been copied. Within about a minute Octet stops recognising it. Once Octet requires edge signatures, sessions signed with it get
401andedge_key_unknown.
Keep credentials out of the browser
- Never put a token, the edge's private key or its signing key in page code, the collector's configuration, a URL, or a client-side bundle.
- Store the tokens in your secret manager and pass them to the edge and backend as environment variables. Keep the edge's private key and signing key on the edge host, readable only by the edge's service user.
- Don't send tokens to Octet support. Quote the
sessionRefand the time of the request instead.