|
| 1 | +--- |
| 2 | +pcx_content_type: reference |
| 3 | +title: FAQs |
| 4 | +sidebar: |
| 5 | + order: 99 |
| 6 | + |
| 7 | +--- |
| 8 | + |
| 9 | +import { AvailableNotifications } from "~/components" |
| 10 | + |
| 11 | +## Web Bot Auth FAQs |
| 12 | + |
| 13 | +Also refer to [Web Both Auth](/bots/concepts/bot/verified-bots/web-bot-auth/). |
| 14 | + |
| 15 | +### What key algorithms does Cloudflare support? |
| 16 | + |
| 17 | +Cloudflare does not support key algorithms other than ed25519 . |
| 18 | + |
| 19 | +### What `web-bot-auth` features from the spec are not supported? |
| 20 | + |
| 21 | +The following derived components are not supported, and we will fail to verify a message if they are included: |
| 22 | + |
| 23 | +- `@query-params`: Cloudflare recommends signing the whole query instead of an individual parameter. |
| 24 | +- `@status`: This is not possible to include in the request path. |
| 25 | + |
| 26 | +The following component parameters defined in IETF RFC 9421 are not supported, and Cloudflare will fail to verify a message if they are included: |
| 27 | + |
| 28 | +- `sf` (for HTTP header fields) |
| 29 | +- `bs` (for HTTP header fields) |
| 30 | +- `key` (for HTTP header fields) |
| 31 | +- `req` (for HTTP header fields or derived components) |
| 32 | +- `name` (for `@query-param` support - this requires `@query-param` support) |
| 33 | + |
| 34 | +### Should I supply a `nonce` parameter in `Signature-Input`? |
| 35 | + |
| 36 | +The `nonce` parameter allows you to supply a `nonce` to prevent attackers from replaying past messages against a server. |
| 37 | + |
| 38 | +While Cloudflare recommends including it, currently there is no `nonce` validation, nor does Cloudflare guard against replay attacks using a database of seen `nonces`. |
| 39 | + |
| 40 | +Instead, Cloudflare recommends short `expires` as a protection against replay attacks. A minute is often sufficient. |
| 41 | + |
| 42 | +### How do I know my JSON Web Key set directory will be accepted? |
| 43 | + |
| 44 | +Cloudflare uses [`http-signature-directory` tool](https://crates.io/crates/http-signature-directory) to validate your directory. Please your this works before submitting a verification request. |
| 45 | + |
| 46 | +### My message is failing validation. What could be the cause? |
| 47 | + |
| 48 | +- Ensure you have a [`Signature-Agent` header](/bots/concepts/bot/verified-bots/web-bot-auth/#signature-agent-header), and that its value in double-quotes. |
| 49 | +- Ensure you include `signature-agent` in the component list in your [`Signature-Input` header](/bots/concepts/bot/verified-bots/web-bot-auth/#signature-agent-header). |
| 50 | +- Ensure your `expires` timestamp is not too short, such that, by the time it arrives at Cloudflare servers, it has already expired. A minute is often sufficient. |
| 51 | +- Ensure you are not signing components containing non-ASCII values, or on the unsupported list. |
| 52 | + |
| 53 | +### I want to use HTTP message signatures / Web Bot Auth on my zone, and do not want Cloudflare's verification to intervene. What do I do? |
| 54 | + |
| 55 | +You can request the Web Bot Auth feature be disabled for your zone by contacting Cloudflare support. This will disable usage of Web Bot Auth specifically with Cloudflare, and verified bots will fallback to other modes to validate traffic. |
0 commit comments