F.62. sslinfo
ÐодÑÐ»Ñ sslinfo вÑдаÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ SSL-ÑеÑÑиÑикаÑе, коÑоÑÑй бÑл пÑедÑÑавлен ÑекÑÑим клиенÑом пÑи подклÑÑении к Postgres Pro. ÐÑÐ¾Ñ Ð¼Ð¾Ð´ÑÐ»Ñ Ð±ÐµÑполезен (болÑÑинÑÑво ÑÑнкÑий возвÑаÑÑÑ NULL), еÑли Ð´Ð»Ñ ÑекÑÑего подклÑÑÐµÐ½Ð¸Ñ Ð½Ðµ задейÑÑвÑеÑÑÑ SSL.
ЧаÑÑÑ Ð¸Ð½ÑоÑмаÑии, вÑдаваемой ÑÑим модÑлем, можно полÑÑиÑÑ ÑеÑез вÑÑÑоенное ÑиÑÑемное пÑедÑÑавление pg_stat_ssl.
ÐÑо ÑаÑÑиÑение не бÑÐ´ÐµÑ ÑобиÑаÑÑÑÑ, еÑли конÑигÑÑаÑÐ¸Ñ Ð±Ñла пÑоизведена без клÑÑа --with-ssl=openssl.
F.62.1. ÐÑедоÑÑавлÑемÑе ÑÑнкÑии
-
ssl_is_used() returns boolean ÐозвÑаÑÐ°ÐµÑ true, еÑли ÑекÑÑее подклÑÑение иÑполÑзÑÐµÑ SSL, и false в пÑоÑивном ÑлÑÑае.
-
ssl_version() returns text ÐозвÑаÑÐ°ÐµÑ Ð¸Ð¼Ñ Ð¿ÑоÑокола, по коÑоÑÐ¾Ð¼Ñ Ð¾Ñганизовано SSL-подклÑÑение (напÑÐ¸Ð¼ÐµÑ TLSv1.0, TLSv1.1, TLSv1.2 или TLSv1.3).
-
ssl_cipher() returns text ÐозвÑаÑÐ°ÐµÑ Ð¸Ð¼Ñ ÑиÑÑа, иÑполÑзÑемого Ð´Ð»Ñ SSL-подклÑÑÐµÐ½Ð¸Ñ (напÑимеÑ, DHE-RSA-AES256-SHA).
-
ssl_client_cert_present() returns boolean ÐозвÑаÑÐ°ÐµÑ true, еÑли ÑекÑÑий ÐºÐ»Ð¸ÐµÐ½Ñ Ð¿ÑедоÑÑавил ÑеÑвеÑÑ Ð´ÐµÐ¹ÑÑвиÑелÑнÑй клиенÑÑкий SSL-ÑеÑÑиÑикаÑ, и false в пÑоÑивном ÑлÑÑае. (СеÑÐ²ÐµÑ Ð¼Ð¾Ð¶ÐµÑ ÑÑебоваÑÑ, а Ð¼Ð¾Ð¶ÐµÑ Ð¸ не ÑÑебоваÑÑ Ð¿ÑедоÑÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ»Ð¸ÐµÐ½ÑÑкого ÑеÑÑиÑикаÑа.)
-
ssl_client_serial() returns numeric ÐозвÑаÑÐ°ÐµÑ ÑеÑийнÑй Ð½Ð¾Ð¼ÐµÑ ÑекÑÑего клиенÑÑкого ÑеÑÑиÑикаÑа. СоÑеÑание ÑеÑийного номеÑа ÑеÑÑиÑикаÑа Ñ Ð²ÑдавÑим его ÑенÑÑом ÑеÑÑиÑикаÑии гаÑанÑиÑÑÐµÑ Ð¾Ð´Ð½Ð¾Ð·Ð½Ð°ÑнÑÑ Ð¸Ð´ÐµÐ½ÑиÑикаÑÐ¸Ñ ÑеÑÑиÑикаÑа (но не его Ð²Ð»Ð°Ð´ÐµÐ»ÐµÑ â Ð²Ð»Ð°Ð´ÐµÐ»ÐµÑ Ð´Ð¾Ð»Ð¶ÐµÐ½ ÑегÑлÑÑно менÑÑÑ Ñвои клÑÑи и полÑÑаÑÑ ÑеÑÑиÑикаÑÑ Ð² ÑенÑÑе ÑеÑÑиÑикаÑии).
ÐоÑÑомÑ, еÑли Ð²Ñ Ð¸ÑполÑзÑеÑе ÑобÑÑвеннÑй ЦС и наÑÑÑоили ÑеÑвеÑ, ÑÑÐ¾Ð±Ñ Ð¾Ð½ пÑинимал ÑеÑÑиÑикаÑÑ ÑолÑко Ð¾Ñ ÑÑого ЦС, ÑеÑийнÑй Ð½Ð¾Ð¼ÐµÑ Ð±ÑÐ´ÐµÑ Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ надÑжнÑм (Ñ Ð¾ÑÑ Ð½Ðµ оÑÐµÐ½Ñ Ð·Ð°Ð¿Ð¾Ð¼Ð¸Ð½Ð°ÑÑимÑÑ) клÑÑом иденÑиÑикаÑии полÑзоваÑелÑ.
-
ssl_client_dn() returns text ÐозвÑаÑÐ°ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾Ðµ Ð¸Ð¼Ñ ÑÑбÑекÑа из ÑекÑÑего клиенÑÑкого ÑеÑÑиÑикаÑа, пÑеобÑазÑÑ ÑимволÑнÑе даннÑе в кодиÑÐ¾Ð²ÐºÑ ÑекÑÑей Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐÑедполагаеÑÑÑ, ÑÑо еÑли в Ð¸Ð¼ÐµÐ½Ð°Ñ Ð² ÑеÑÑиÑикаÑÐ°Ñ Ð¸ÑполÑзÑÑÑÑÑ ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð²Ð½Ðµ ÑаблиÑÑ ASCII, Ñо ваÑа база даннÑÑ Ð¼Ð¾Ð¶ÐµÑ Ð¿ÑедÑÑавиÑÑ ÑÑи ÑимволÑ. ÐÑли в ваÑей базе иÑполÑзÑеÑÑÑ ÐºÐ¾Ð´Ð¸Ñовка SQL_ASCII, ÑÐ¸Ð¼Ð²Ð¾Ð»Ñ Ð²Ð½Ðµ ASCII в имени бÑдÑÑ Ð¿ÑедÑÑÐ°Ð²Ð»ÐµÐ½Ñ Ð¿Ð¾ÑледоваÑелÑноÑÑÑми UTF-8.
РезÑлÑÑÐ°Ñ Ð²ÑглÑÐ´Ð¸Ñ Ð¿ÑимеÑно Ñак:
/CN=Somebody /C=Some country/O=Some organization.-
ssl_issuer_dn() returns text ÐозвÑаÑÐ°ÐµÑ Ð¿Ð¾Ð»Ð½Ð¾Ðµ Ð¸Ð¼Ñ Ð¸Ð·Ð´Ð°ÑÐµÐ»Ñ ÑекÑÑего клиенÑÑкого ÑеÑÑиÑикаÑа, пÑеобÑазÑÑ ÑимволÑнÑе даннÑе в кодиÑÐ¾Ð²ÐºÑ ÑекÑÑей Ð±Ð°Ð·Ñ Ð´Ð°Ð½Ð½ÑÑ . ÐÑеобÑÐ°Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ ÐºÐ¾Ð´Ð¸Ñовки оÑÑÑеÑÑвлÑÑÑÑÑ Ñак же, как и в
ssl_client_dn.СоÑеÑание возвÑаÑаемого знаÑÐµÐ½Ð¸Ñ ÑÑой ÑÑнкÑии Ñ ÑеÑийнÑм номеÑом ÑеÑÑиÑикаÑа однознаÑно иденÑиÑиÑиÑÑÐµÑ ÑеÑÑиÑикаÑ.
ÐÑа ÑÑнкÑÐ¸Ñ Ð¿Ð¾Ð»ÐµÐ·Ð½Ð°, ÑолÑко еÑли в ÑÑÑановленном на ÑеÑвеÑе Ñайле Ñ ÑеÑÑиÑикаÑами ЦС ÑодеÑжаÑÑÑ ÑеÑÑиÑикаÑÑ Ð½ÐµÑколÑÐºÐ¸Ñ Ð¦Ð¡ или еÑли один ЦС вÑдаÑÑ ÑеÑÑиÑикаÑÑ Ð´Ð»Ñ Ð¿ÑомежÑÑоÑнÑÑ ÑенÑÑов ÑеÑÑиÑикаÑии.
-
ssl_client_dn_field(fieldname text) returns 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) returns text То же, ÑÑо
ssl_client_dn_field, но Ð´Ð»Ñ Ð¸Ð·Ð´Ð°ÑелÑ, а не Ð´Ð»Ñ ÑÑбÑекÑа ÑеÑÑиÑикаÑа.-
ssl_extension_info() returns setof record ÐÑедоÑÑавлÑÐµÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¾ ÑаÑÑиÑениÑÑ ÐºÐ»Ð¸ÐµÐ½ÑÑкого ÑеÑÑиÑикаÑа: Ð¸Ð¼Ñ ÑаÑÑиÑениÑ, знаÑение ÑаÑÑиÑÐµÐ½Ð¸Ñ Ð¸ ÑвлÑеÑÑÑ Ð»Ð¸ ÑÑо ÑаÑÑиÑение кÑиÑиÑеÑким.
F.62.2. ÐвÑоÑ
ÐикÑÐ¾Ñ ÐÐ°Ð³Ð½ÐµÑ <[email protected]>, ÐÐР«ÐÑипÑоком»
ÐмиÑÑий ÐоÑонин <[email protected]>
ÐлекÑÑоннÑй адÑÐµÑ Ð³ÑÑÐ¿Ð¿Ñ ÑазÑабоÑÑиков OpenSSL в ÐÑипÑокоме: <[email protected]>