My issue:
Like many, I’m very interested in the new provider capability in nginx 1.29.0. However I’m getting “No store loader found” errors while trying to use it.
How I encountered the problem:
I have added my provider to the primary openssl.cnf file, and it is now visible with “openssl list -providers”. Why is it failing to load my store? What is the correct syntax and pkcs11 uri?
Solutions I’ve tried:
Variations on pkcs11 URI
Version of NGINX or NGINX adjacent software (e.g. NGINX Gateway Fabric):
1.29.0
Deployment environment:
Ubuntu 25.04
Minimal NGINX config to reproduce your issue (preferably running on https://tech-playground.com/playgrounds/nginx for ease of debugging, and if not as a code block): (Tip → Run nginx -T to print your entire NGINX config to your terminal.)
server {
listen 443 ssl;
server_name webserver;
add_header X-Robots-Tag "noindex nofollow nosnippet noarchive";
resolver 127.0.0.11 valid=30s;
access_log /var/log/nginx/access_test.log;
error_log /var/log/nginx/access_error.log;
ssl_certificate /home/user/test_fullchain.pem;
ssl_certificate_key store:pkcs11:object=test_privkey;type=private;
ssl_protocols TLSv1.2 TLSv1.3;
root /var/www/html;
index index.nginx-debian.html;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
NGINX access/error log: (Tip → You can usually find the logs in the /var/log/nginx directory.)
2025/08/08 19:25:30 [emerg] 160008#160008: cannot load certificate key “store:pkcs11:token=YubiHSM;object=test_privkey”: OSSL_STORE_open() failed (SSL: error:80000002:system library::No such file or directory:calling stat(pkcs11:token=YubiHSM;object=test_privkey) error:1608010C:STORE routines::unsupported:No store loader found. For standard store loaders you need at least one of the default or base providers available. Did you forget to load them? Info: Global default library context, Scheme (pkcs11 : 0), Properties ())