[PATCH] Documented "store:..." certificates and keys

Maxim Dounin mdounin at mdounin.ru
Thu Nov 6 13:28:46 UTC 2025


Hello!

On Thu, Nov 06, 2025 at 05:29:01AM +0300, Sergey A. Osokin wrote:

> On Wed, Nov 05, 2025 at 12:25:14PM +0300, Maxim Dounin wrote:
> > # HG changeset patch
> > # User Maxim Dounin <mdounin at mdounin.ru>
> > # Date 1762274238 -10800
> > #      Tue Nov 04 19:37:18 2025 +0300
> > # Node ID 00967d8711526c1526b2c32d1e8e9bc847442963
> > # Parent  6f11c0a052568a4cd51ed096cfe10c6ba6aaf85e
> > Documented "store:..." certificates and keys.
> > 
> > diff --git a/xml/en/docs/http/ngx_http_grpc_module.xml b/xml/en/docs/http/ngx_http_grpc_module.xml
> > --- a/xml/en/docs/http/ngx_http_grpc_module.xml
> > +++ b/xml/en/docs/http/ngx_http_grpc_module.xml
> > @@ -10,7 +10,7 @@
> >  <module name="Module ngx_http_grpc_module"
> >          link="/en/docs/http/ngx_http_grpc_module.html"
> >          lang="en"
> > -        rev="10">
> > +        rev="11">
> >  
> >  <section id="summary">
> >  
> > @@ -483,6 +483,14 @@ used for authentication to a gRPC SSL se
> >  </para>
> >  
> >  <para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a certificate with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Since version 1.21.0, variables can be used in the <value>file</value> name.
> >  </para>
> >  
> > @@ -510,6 +518,14 @@ from the OpenSSL engine <value>name</val
> >  </para>
> >  
> >  <para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a secret key with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Since version 1.21.0, variables can be used in the <value>file</value> name.
> >  </para>
> >  
> > diff --git a/xml/en/docs/http/ngx_http_proxy_module.xml b/xml/en/docs/http/ngx_http_proxy_module.xml
> > --- a/xml/en/docs/http/ngx_http_proxy_module.xml
> > +++ b/xml/en/docs/http/ngx_http_proxy_module.xml
> > @@ -10,7 +10,7 @@
> >  <module name="Module ngx_http_proxy_module"
> >          link="/en/docs/http/ngx_http_proxy_module.html"
> >          lang="en"
> > -        rev="81">
> > +        rev="82">
> >  
> >  <section id="summary">
> >  
> > @@ -1855,6 +1855,14 @@ used for authentication to a proxied HTT
> >  </para>
> >  
> >  <para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a certificate with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Since version 1.21.0, variables can be used in the <value>file</value> name.
> >  </para>
> >  
> > @@ -1883,6 +1891,14 @@ from the OpenSSL engine <value>name</val
> >  </para>
> >  
> >  <para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a secret key with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Since version 1.21.0, variables can be used in the <value>file</value> name.
> >  </para>
> >  
> > diff --git a/xml/en/docs/http/ngx_http_ssl_module.xml b/xml/en/docs/http/ngx_http_ssl_module.xml
> > --- a/xml/en/docs/http/ngx_http_ssl_module.xml
> > +++ b/xml/en/docs/http/ngx_http_ssl_module.xml
> > @@ -10,7 +10,7 @@
> >  <module name="Module ngx_http_ssl_module"
> >          link="/en/docs/http/ngx_http_ssl_module.html"
> >          lang="en"
> > -        rev="65">
> > +        rev="66">
> >  
> >  <section id="summary">
> >  
> > @@ -199,6 +199,14 @@ such as writing secret key data to
> >  </para>
> >  
> >  <para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a certificate with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  It should be kept in mind that due to the HTTPS protocol limitations
> >  for maximum interoperability virtual servers should listen on
> >  <link doc="configuring_https_servers.xml" id="name_based_https_servers">different
> > @@ -227,6 +235,14 @@ which loads a secret key with a specifie
> >  from the OpenSSL engine <value>name</value>.
> >  </para>
> >  
> > +<para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a secret key with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> >  <para id="ssl_certificate_key_data">
> >  The value
> >  <literal>data</literal>:<value>$variable</value>
> > diff --git a/xml/en/docs/http/ngx_http_uwsgi_module.xml b/xml/en/docs/http/ngx_http_uwsgi_module.xml
> > --- a/xml/en/docs/http/ngx_http_uwsgi_module.xml
> > +++ b/xml/en/docs/http/ngx_http_uwsgi_module.xml
> > @@ -10,7 +10,7 @@
> >  <module name="Module ngx_http_uwsgi_module"
> >          link="/en/docs/http/ngx_http_uwsgi_module.html"
> >          lang="en"
> > -        rev="52">
> > +        rev="53">
> >  
> >  <section id="summary">
> >  
> > @@ -1275,6 +1275,14 @@ used for authentication to a secured uws
> >  </para>
> >  
> >  <para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a certificate with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Since version 1.21.0, variables can be used in the <value>file</value> name.
> >  </para>
> >  
> > @@ -1303,6 +1311,14 @@ from the OpenSSL engine <value>name</val
> >  </para>
> >  
> >  <para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a secret key with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Since version 1.21.0, variables can be used in the <value>file</value> name.
> >  </para>
> >  
> > diff --git a/xml/en/docs/mail/ngx_mail_ssl_module.xml b/xml/en/docs/mail/ngx_mail_ssl_module.xml
> > --- a/xml/en/docs/mail/ngx_mail_ssl_module.xml
> > +++ b/xml/en/docs/mail/ngx_mail_ssl_module.xml
> > @@ -10,7 +10,7 @@
> >  <module name="Module ngx_mail_ssl_module"
> >          link="/en/docs/mail/ngx_mail_ssl_module.html"
> >          lang="en"
> > -        rev="28">
> > +        rev="29">
> >  
> >  <section id="summary">
> >  
> > @@ -152,6 +152,14 @@ such as writing secret key data to
> >  <link doc="../ngx_core_module.xml" id="error_log">error log</link>.
> >  </para>
> >  
> > +<para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a certificate with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> >  </directive>
> >  
> >  
> > @@ -174,6 +182,14 @@ which loads a secret key with a specifie
> >  from the OpenSSL engine <value>name</value>.
> >  </para>
> >  
> > +<para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a secret key with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> >  <para id="ssl_certificate_key_data">
> >  The value
> >  <literal>data</literal>:<value>key</value>
> > diff --git a/xml/en/docs/stream/ngx_stream_proxy_module.xml b/xml/en/docs/stream/ngx_stream_proxy_module.xml
> > --- a/xml/en/docs/stream/ngx_stream_proxy_module.xml
> > +++ b/xml/en/docs/stream/ngx_stream_proxy_module.xml
> > @@ -9,7 +9,7 @@
> >  <module name="Module ngx_stream_proxy_module"
> >          link="/en/docs/stream/ngx_stream_proxy_module.html"
> >          lang="en"
> > -        rev="33">
> > +        rev="34">
> >  
> >  <section id="summary">
> >  
> > @@ -370,6 +370,14 @@ used for authentication to a proxied ser
> >  </para>
> >  
> >  <para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a certificate with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Since version 1.21.0, variables can be used in the <value>file</value> name.
> >  </para>
> >  
> > @@ -388,6 +396,14 @@ used for authentication to a proxied ser
> >  </para>
> >  
> >  <para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a secret key with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Since version 1.21.0, variables can be used in the <value>file</value> name.
> >  </para>
> >  
> > diff --git a/xml/en/docs/stream/ngx_stream_ssl_module.xml b/xml/en/docs/stream/ngx_stream_ssl_module.xml
> > --- a/xml/en/docs/stream/ngx_stream_ssl_module.xml
> > +++ b/xml/en/docs/stream/ngx_stream_ssl_module.xml
> > @@ -9,7 +9,7 @@
> >  <module name="Module ngx_stream_ssl_module"
> >          link="/en/docs/stream/ngx_stream_ssl_module.html"
> >          lang="en"
> > -        rev="33">
> > +        rev="34">
> >  
> >  <section id="summary">
> >  
> > @@ -169,6 +169,14 @@ such as writing secret key data to
> >  <link doc="../ngx_core_module.xml" id="error_log">error log</link>.
> >  </para>
> >  
> > +<para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a certificate with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> >  </directive>
> >  
> >  
> > @@ -191,6 +199,14 @@ which loads a secret key with a specifie
> >  from the OpenSSL engine <value>name</value>.
> >  </para>
> >  
> > +<para>
> > +The value
> > +<literal>store</literal>:<value>uri</value>
> > +can be specified instead of the <value>file</value> (1.29.3),
> > +which loads a secret key with a specified <value>uri</value>
> > +from an OpenSSL store.
> > +</para>
> > +
> >  <para id="ssl_certificate_key_data">
> >  The value
> >  <literal>data</literal>:<value>$variable</value>
> > diff --git a/xml/ru/docs/http/ngx_http_grpc_module.xml b/xml/ru/docs/http/ngx_http_grpc_module.xml
> > --- a/xml/ru/docs/http/ngx_http_grpc_module.xml
> > +++ b/xml/ru/docs/http/ngx_http_grpc_module.xml
> > @@ -10,7 +10,7 @@
> >  <module name="Модуль ngx_http_grpc_module"
> >          link="/ru/docs/http/ngx_http_grpc_module.html"
> >          lang="ru"
> > -        rev="10">
> > +        rev="11">
> >  
> >  <section id="summary">
> >  
> > @@ -483,6 +483,13 @@ grpc_set_header Accept-Encoding "";
> >  </para>
> >  
> >  <para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает сертификат с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Начиная с версии 1.21.0 в имени файла можно использовать переменные.
> >  </para>
> >  
> > @@ -509,6 +516,13 @@ grpc_set_header Accept-Encoding "";
> >  </para>
> >  
> >  <para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает ключ с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Начиная с версии 1.21.0 в имени файла можно использовать переменные.
> >  </para>
> >  
> > diff --git a/xml/ru/docs/http/ngx_http_proxy_module.xml b/xml/ru/docs/http/ngx_http_proxy_module.xml
> > --- a/xml/ru/docs/http/ngx_http_proxy_module.xml
> > +++ b/xml/ru/docs/http/ngx_http_proxy_module.xml
> > @@ -10,7 +10,7 @@
> >  <module name="Модуль ngx_http_proxy_module"
> >          link="/ru/docs/http/ngx_http_proxy_module.html"
> >          lang="ru"
> > -        rev="81">
> > +        rev="82">
> >  
> >  <section id="summary">
> >  
> > @@ -1854,6 +1854,13 @@ proxy_set_header Accept-Encoding "";
> >  </para>
> >  
> >  <para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает сертификат с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Начиная с версии 1.21.0 в имени файла можно использовать переменные.
> >  </para>
> >  
> > @@ -1881,6 +1888,13 @@ proxy_set_header Accept-Encoding "";
> >  </para>
> >  
> >  <para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает ключ с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Начиная с версии 1.21.0 в имени файла можно использовать переменные.
> >  </para>
> >  
> > diff --git a/xml/ru/docs/http/ngx_http_ssl_module.xml b/xml/ru/docs/http/ngx_http_ssl_module.xml
> > --- a/xml/ru/docs/http/ngx_http_ssl_module.xml
> > +++ b/xml/ru/docs/http/ngx_http_ssl_module.xml
> > @@ -10,7 +10,7 @@
> >  <module name="Модуль ngx_http_ssl_module"
> >          link="/ru/docs/http/ngx_http_ssl_module.html"
> >          lang="ru"
> > -        rev="65">
> > +        rev="66">
> >  
> >  <section id="summary">
> >  
> > @@ -201,6 +201,13 @@ ssl_certificate_key $ssl_server_name.key
> >  </para>
> >  
> >  <para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает сертификат с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Нужно иметь в виду, что из-за ограничения протокола HTTPS
> >  для максимальной совместимости виртуальные серверы должны слушать на
> >  <link doc="configuring_https_servers.xml" id="name_based_https_servers">разных
> > @@ -228,6 +235,13 @@ IP-адресах</link>.
> >  из OpenSSL engine с заданным <value>именем</value>.
> >  </para>
> >  
> > +<para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает ключ с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> >  <para id="ssl_certificate_key_data">
> >  Вместо <value>файла</value> можно указать значение
> >  <literal>data</literal>:<value>$переменная</value> (1.15.10),
> > diff --git a/xml/ru/docs/http/ngx_http_uwsgi_module.xml b/xml/ru/docs/http/ngx_http_uwsgi_module.xml
> > --- a/xml/ru/docs/http/ngx_http_uwsgi_module.xml
> > +++ b/xml/ru/docs/http/ngx_http_uwsgi_module.xml
> > @@ -10,7 +10,7 @@
> >  <module name="Модуль ngx_http_uwsgi_module"
> >          link="/ru/docs/http/ngx_http_uwsgi_module.html"
> >          lang="ru"
> > -        rev="52">
> > +        rev="53">
> >  
> >  <section id="summary">
> >  
> > @@ -1270,6 +1270,13 @@ uwsgi-сервер.
> >  </para>
> >  
> >  <para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает сертификат с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Начиная с версии 1.21.0 в имени файла можно использовать переменные.
> >  </para>
> >  
> > @@ -1297,6 +1304,13 @@ uwsgi-сервер.
> >  </para>
> >  
> >  <para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает ключ с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Начиная с версии 1.21.0 в имени файла можно использовать переменные.
> >  </para>
> >  
> > diff --git a/xml/ru/docs/mail/ngx_mail_ssl_module.xml b/xml/ru/docs/mail/ngx_mail_ssl_module.xml
> > --- a/xml/ru/docs/mail/ngx_mail_ssl_module.xml
> > +++ b/xml/ru/docs/mail/ngx_mail_ssl_module.xml
> > @@ -10,7 +10,7 @@
> >  <module name="Модуль ngx_mail_ssl_module"
> >          link="/ru/docs/mail/ngx_mail_ssl_module.html"
> >          lang="ru"
> > -        rev="28">
> > +        rev="29">
> >  
> >  <section id="summary">
> >  
> > @@ -153,6 +153,13 @@ server {
> >  <link doc="../ngx_core_module.xml" id="error_log">лог ошибок</link>.
> >  </para>
> >  
> > +<para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает сертификат с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> >  </directive>
> >  
> >  
> > @@ -174,6 +181,13 @@ server {
> >  из OpenSSL engine с заданным <value>именем</value>.
> >  </para>
> >  
> > +<para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает ключ с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> >  <para id="ssl_certificate_key_data">
> >  Вместо <value>файла</value> можно указать значение
> >  <literal>data</literal>:<value>ключ</value> (1.15.10),
> > diff --git a/xml/ru/docs/stream/ngx_stream_proxy_module.xml b/xml/ru/docs/stream/ngx_stream_proxy_module.xml
> > --- a/xml/ru/docs/stream/ngx_stream_proxy_module.xml
> > +++ b/xml/ru/docs/stream/ngx_stream_proxy_module.xml
> > @@ -9,7 +9,7 @@
> >  <module name="Модуль ngx_stream_proxy_module"
> >          link="/ru/docs/stream/ngx_stream_proxy_module.html"
> >          lang="ru"
> > -        rev="33">
> > +        rev="34">
> >  
> >  <section id="summary">
> >  
> > @@ -371,6 +371,13 @@ Cессия завершится после отправки всех принятых датаграмм
> >  </para>
> >  
> >  <para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает сертификат с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Начиная с версии 1.21.0 в имени файла можно использовать переменные.
> >  </para>
> >  
> > @@ -389,6 +396,13 @@ Cессия завершится после отправки всех принятых датаграмм
> >  </para>
> >  
> >  <para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает ключ с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> > +<para>
> >  Начиная с версии 1.21.0 в имени файла можно использовать переменные.
> >  </para>
> >  
> > diff --git a/xml/ru/docs/stream/ngx_stream_ssl_module.xml b/xml/ru/docs/stream/ngx_stream_ssl_module.xml
> > --- a/xml/ru/docs/stream/ngx_stream_ssl_module.xml
> > +++ b/xml/ru/docs/stream/ngx_stream_ssl_module.xml
> > @@ -9,7 +9,7 @@
> >  <module name="Модуль ngx_stream_ssl_module"
> >          link="/ru/docs/stream/ngx_stream_ssl_module.html"
> >          lang="ru"
> > -        rev="33">
> > +        rev="34">
> >  
> >  <section id="summary">
> >  
> > @@ -171,6 +171,13 @@ ssl_certificate_key $ssl_server_name.key
> >  <link doc="../ngx_core_module.xml" id="error_log">лог ошибок</link>.
> >  </para>
> >  
> > +<para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает сертификат с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> >  </directive>
> >  
> >  
> > @@ -192,6 +199,13 @@ ssl_certificate_key $ssl_server_name.key
> >  из OpenSSL engine с заданным <value>именем</value>.
> >  </para>
> >  
> > +<para>
> > +Вместо <value>файла</value> можно указать значение
> > +<literal>store</literal>:<value>uri</value> (1.29.3),
> > +которое загружает ключ с указанным <value>uri</value>
> > +из OpenSSL store.
> > +</para>
> > +
> >  <para id="ssl_certificate_key_data">
> >  Вместо <value>файла</value> можно указать значение
> >  <literal>data</literal>:<value>$переменная</value> (1.15.10),
> 
> Looks good to me.

Committed, thanks for looking.

-- 
Maxim Dounin
http://mdounin.ru/


More information about the nginx-devel mailing list