Some servers might not support a length of 32 and return a malformed
request error. Lowering the value to the previous default of 16 could
help in that case.
charon.nbns2
WINS servers assigned to peer via configuration payload (CP).
+charon.ocsp_nonce_len = 32
+ Length of nonces in OCSP requests (1-32).
+
+ Length of nonces in OCSP requests. According to RFC 8954, valid values are
+ between 1 and 32, with new clients required to use 32. Some servers might
+ not support that so lowering the value to e.g. 16 might be necessary.
+
charon.port = 500
UDP port used locally. If set to 0 a random port will be allocated.
static chunk_t build_nonce(private_x509_ocsp_request_t *this)
{
rng_t *rng;
+ int nonce_len;
+
+ nonce_len = lib->settings->get_int(lib->settings, "%s.ocsp_nonce_len",
+ NONCE_LEN, lib->ns);
rng = lib->crypto->create_rng(lib->crypto, RNG_WEAK);
- if (!rng || !rng->allocate_bytes(rng, NONCE_LEN, &this->nonce))
+ if (!rng || !rng->allocate_bytes(rng, max(1, nonce_len), &this->nonce))
{
DBG1(DBG_LIB, "failed to create RNG");
DESTROY_IF(rng);