sslinfo. Информация о клиентском SSL-сертифик ате
В исходном дистрибутиве установлено по умолчанию: нет.
Связанные компоненты: отсутствуют.
Схема размещения:
ext
.
Модуль sslinfo
выдает информацию о SSL-сертификате, который был представлен текущим клиентом при подключении к Pangolin.
Примечание:
Если для текущего подключения SSL не задействуется, большинство функций модуля возвратят NULL.
Часть информации, выдаваемой этим модулем, можно получить через встроенное системное представление pg_stat_ssl.
Имя функции | Возвращаемое значение | Описание |
---|---|---|
ssl_is_used | boolean | Текущее подключение использует протокол SSL |
ssl_version | text | Имя протокола, по которому организовано SSL-подключение (TLSv1.0, TLSv1.1 или TLSv1.2) |
ssl_cipher | text | Имя шифра, используемого для SSL-подключения (например, DHE-RSA-AES256-SHA) |
ssl_client_cert_present | boolean | true , если текущий клиент предоставил серверу дей ствительный клиентский SSL-сертификат, иначе – false ;сервер может требовать или не требовать предоставления клиентского сертификата |
ssl_client_serial | numeric | Серийный номер текущего клиентского сертификата; сочетание серийного номера сертификата с выдавшим его центром сертификации гарантирует однозначную идентификацию сертификата (не владелец – он должен регулярно менять свои ключи и получать сертификаты в центре сертификации) |
ssl_client_dn | text | Полное имя субъекта из текущего клиентского сертификата, преобразуя символьные данные в кодировку текущей базы данных; предполагается, что если в именах в сертификатах используются символы вне таблицы ASCII, то база данных может представить эти символы; если в базе используется кодировка SQL_ASCII, символы вне ASCII в имени будут представлены последовательностями UTF-8 |
ssl_issuer_dn | text | Возвращает полное имя издателя текущего клиентского сертификата, преобразуя символьные данные в кодировку текущей базы данных; преобразования кодировки осуществляются так же, как и в ssl_client_dn ; со четание возвращаемого значения этой функции с серийным номером сертификата однозначно идентифицирует сертификат |
ssl_client_dn_field (fieldname text) | text | Функция возвращает значение указанного поля данных субъекта сертификата либо NULL , если это поле отсутствует; имена полей задаются строковыми константами, которые затем преобразуются в идентификаторы объектов ASN1, используя базу данных объектов OpenSSL.Принимаются следующие значения: – commonName (или CN);– surname (или SN);– name ;– givenName (или GN);– countryName (или C);– localityName (или L);– stateOrProvinceName (или ST);– organizationName (или O);– organizationalUnitName (или OU);– title ;– description ;– initials ;– postalCode ;– streetAddress ;– generationQualifier ;– description ;– dnQualifier ;– x500UniqueIdentifier ;– pseudonym ;– role ;– emailAddress . Все перечисленные поля являются необязательными, за исключением commonName . Какие из них будут включены в сертификат, зависит от политики Центра Сертификации. Значение этих полей строго определено ста ндартами X.500 и X.509, поэтому их нельзя интерпретировать произвольным образом |
ssl_issuer_field (fieldname text) | text | Аналог ssl_client_dn_field , но для издателя, не для субъекта сертификата |
ssl_extension_info | setof record | Предоставляет информацию о расширениях клиентского сертификата: – имя расширения; – значение расширения; – является ли это расширение критическим |
Доработка
Доработка не проводилась.
Ограничения
Ограничения отсутствуют.
Установка
Внимание!
Расширение не будет собираться, если конфигурация была произведена без ключа
--with-openssl
.
При наличии прав администратора СУБД включени е модуля выполняется запросом:
CREATE EXTENSION sslinfo SCHEMA ext;
Настройка
Настройка не требуется.
Использование модуля
SELECT ssl_is_used();
Пример вывода результата выполнения запроса:
ssl_is_used
-------------
t
(1 row)
SELECT ssl_version();
Пример вывода результата выполнения запроса:
ssl_version
-------------
TLSv1.2
(1 row)
SELECT ssl_cipher();
Пример вывода результата выполнения запроса:
ssl_cipher
-----------------------------
ECDHE-RSA-AES256-GCM-SHA384
(1 row)
select ssl_client_dn();
Пример вывода результата выполнения запроса:
ssl_client_dn
--------------------------------------------------
/CN=Somebody /C=Some country/O=Some organization
(1 row)
Ссылки на документацию разработчика
Исходная документация по модулю sslinfo: https://www.postgresql.org/docs/15/sslinfo.html.