Method: OpenSSL::Random.egd_bytes

Defined in:
ext/openssl/ossl_rand.c

.egd_bytes(filename, length) ⇒ true

Queries the entropy gathering daemon EGD on socket path given by filename.

Fetches length number of bytes and uses ::add to seed the OpenSSL built-in PRNG.

Returns:

  • (true)


148
149
150
151
152
153
154
155
156
157
# File 'ext/openssl/ossl_rand.c', line 148

static VALUE
ossl_rand_egd_bytes(VALUE self, VALUE filename, VALUE len)
{
    int n = NUM2INT(len);

    if (RAND_egd_bytes(StringValueCStr(filename), n) == -1) {
        ossl_raise(eRandomError, NULL);
    }
    return Qtrue;
}