Method: OpenSSL::Provider#unload

Defined in:
ossl_provider.c

#unloadtrue

This method unloads this provider.

if provider unload fails or already unloaded, it raises OpenSSL::Provider::ProviderError

Returns:

  • (true)


130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# File 'ossl_provider.c', line 130

static VALUE
ossl_provider_unload(VALUE self)
{
    OSSL_PROVIDER *prov;
    if (RTYPEDDATA_DATA(self) == NULL) {
        ossl_raise(eProviderError, "Provider already unloaded.");
    }
    GetProvider(self, prov);

    int result = OSSL_PROVIDER_unload(prov);

    if (result != 1) {
        ossl_raise(eProviderError, "Failed to unload provider");
    }
    RTYPEDDATA_DATA(self) = NULL;
    return Qtrue;
}