Method: OpenSSL::Provider.provider_names

Defined in:
ossl_provider.c

.OpenSSL::Provider.provider_namesArray

Returns an array of currently loaded provider names.

Returns:

  • (Array)


104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# File 'ossl_provider.c', line 104

static VALUE
ossl_provider_s_provider_names(VALUE klass)
{
    VALUE ary = rb_ary_new();
    struct ary_with_state cbdata = { ary, 0 };

    int result = OSSL_PROVIDER_do_all(NULL, &push_provider, (void*)&cbdata);
    if (result != 1 ) {
        if (cbdata.state) {
            rb_jump_tag(cbdata.state);
        } else {
            ossl_raise(eProviderError, "Failed to load provider names");
        }
    }

    return ary;
}