'\" t .\" Title: sss-certmap .\" Author: Восходящий источник (\(Foапстрим\(Fc) SSSD \(em https://github.com/SSSD/sssd/ .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 05/17/2024 .\" Manual: Форматы файлов и рекомендации .\" Source: SSSD .\" Language: English .\" .TH "SSS\-CERTMAP" "5" "05/17/2024" "SSSD" "Форматы файлов и рекомендации" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" sss-certmap \- Правила установления соответствия и сопоставления сертификатов SSSD .SH "ОПИСАНИЕ" .PP На этой справочной странице приводится описание правил, которые могут использоваться SSSD и другими компонентами для установления соответствия сертификатов X\&.509 и их сопоставления с учётными записями\&. .PP Каждое правило содержит четыре компонента, \(lqприоритет\(rq, \(lqправило установления соответствия\(rq, \(lqправило сопоставления\(rq и \(lqсписок доменов\(rq\&. Все компоненты являются необязательными\&. Если отсутствует \(lqприоритет\(rq, будет добавлено правило с самым низким приоритетом\&. Стандартное \(lqправило установления соответствия\(rq устанавливает соответствие сертификатов с использованием ключа digitalSignature и расширенным использованием ключа clientAuth\&. Если \(lqправило сопоставления\(rq не указано, в атрибуте userCertificate будет выполняться поиск сертификатов как двоичных файлов в кодировке DER\&. Если не указаны домены, поиск будет выполняться только в локальном домене\&. .PP Чтобы разрешить расширения или совершенно другой стиль правила, \(lqсопоставления\(rq и \(lqправила соответствия\(rq могут содержать префикс, отделенный символом \(Fo:\(Fc от основной части правила\&. Префикс может содержать только ASCII\-буквы верхнего регистра и цифры\&. Если префикс опущен, будет использоваться тип по умолчанию: \(FoKRB5\(Fc для правил соответствия и \(FoLDAP\(Fc для правил сопоставления\&. .PP Утилита \*(Aqsssctl\*(Aq предоставляет команду \*(Aqcert\-eval\-rule\*(Aq, предназначенную для проверки, соответствует ли указанный сертификат правилам соответствия, и определяет, как будет выглядеть вывод правила сопоставления\&. .SH "КОМПОНЕНТЫ ПРАВИЛА" .SS "ПРИОРИТЕТ" .PP Правила обрабатываются в порядке приоритета\&. Ноль \(Fo0\(Fc означает наивысший приоритет\&. Чем больше число, тем выше приоритет\&. Отсутствие значения означает самый низкий приоритет\&. Обработка правил останавливается при обнаружении соответствующего условиям правила, и никакие другие правила уже не проверяются\&. .PP На внутреннем уровне приоритет обрабатывается как беззнаковое 32\-битное целое\&. Использование значения приоритета, превышающего 4294967295, приведёт к ошибке\&. .PP Если несколько правил имеют одинаковый приоритет, но только одно соответствует связанным правилам установления соответствия, будет выбрано это правило\&. Если имеется несколько правил с одинаковым приоритетом, которые соответствуют, будет выбрано одно из них, но не будет определено, какое именно\&. Чтобы предотвратить такое неопределённое поведение, следует либо задать разный приоритет, либо сделать правила установления соответствия более чёткими (например, с помощью разных шаблонов )\&. .SS "ПРАВИЛО УСТАНОВЛЕНИЯ СООТВЕТСТВИЯ" .PP Правило установления соответствия используется для выбора сертификата, к которому следует применить правило сопоставления\&. В нём используется система, похожую на ту, которая используется в параметре \(lqpkinit_cert_match\(rq MIT Kerberos\&. Правило состоит из ключевого слова, расположенного между \(Fo<\(Fc и \(Fo>\(Fc, которое идентифицирует определённую часть сертификата, и шаблона, который должен быть найден для установления соответствия правила\&. Несколько пар \(Foключевое слово \(em шаблон\(Fc можно соединить с помощью логического оператора \(Fo&&\(Fc (и) или \(Fo||\(Fc (или)\&. .PP Учитывая сходство с MIT Kerberos, префиксом для этого правила является \(FoKRB5\(Fc\&. Но \(FoKRB5\(Fc также будет использоваться по умолчанию для \(lqправил установления соответствия\(rq, поэтому \(Fo\&.*,DC=MY,DC=DOMAIN\(Fc и \(FoKRB5:\&.*,DC= MY,DC=DOMAIN\(Fc эквивалентны\&. .PP Доступные параметры: .PP регулярное_выражение .RS 4 Это правило позволяет установить соответствие части или всего имени субъекта сертификата\&. Для установления соответствия используется синтаксис расширенных регулярных выражений POSIX\&. Подробное описание синтаксиса доступно на справочной странице regex(7)\&. .sp Для установления соответствия имени субъекта, которое хранится в сертификате в кодировке DER, ASN\&.1 преобразуется в строку в соответствии с RFC 4514\&. Это означает, что сначала идёт наиболее специфичный компонент имени\&. Обратите внимание, что в стандарте RFC 4514 перечислены не все возможные имени атрибутов\&. В него включены имена \(FoCN\(Fc, \(FoL\(Fc, \(FoST\(Fc, \(FoO\(Fc, \(FoOU\(Fc, \(FoC\(Fc, \(FoSTREET\(Fc, \(FoDC\(Fc и \(FoUID\(Fc\&. Другие имена атрибутов могут отображаться по\-разному на различных платформах и с помощью различных инструментов\&. Чтобы избежать путаницы, рекомендуется не использовать такие имена и не покрывать их соответствующим регулярным выражением\&. .sp Пример: \&.*,DC=MY,DC=DOMAIN .sp Обратите внимание, что символы \(Fo^\&.[$()|*+?{\e\(Fc имеют специальное значение в регулярных выражениях, поэтому их необходимо экранировать с помощью символа \(Fo\e\(Fc, чтобы программа воспринимала их как обычные символы\&. .sp Пример: ^CN=\&.* \e(Admin\e),DC=MY,DC=DOMAIN$ .RE .PP регулярное_выражение .RS 4 Это правило позволяет установить соответствие части или всего имени издателя сертификата\&. Этого параметра касаются те же комментарии, которые были указаны для \&. .sp Пример: ^CN=My\-CA,DC=MY,DC=DOMAIN$ .RE .PP использование_ключа .RS 4 С помощью этого параметра можно указать, какие значения использования ключа должен иметь сертификат\&. В разделённом запятыми списке можно указать следующие значения: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} digitalSignature .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} nonRepudiation .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} keyEncipherment .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} dataEncipherment .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} keyAgreement .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} keyCertSign .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} cRLSign .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} encipherOnly .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} decipherOnly .RE .sp Для покрытия особых вариантов использования также можно использовать значение в диапазоне 32\-битного беззнакового целого\&. .sp Пример: digitalSignature,keyEncipherment .RE .PP расширенное_использование_ключа .RS 4 С помощью этого параметра можно указать, какие значения расширенного использования ключа должен иметь сертификат\&. В разделённом запятыми списке можно указать следующие значения: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} serverAuth .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} clientAuth .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} codeSigning .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} emailProtection .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} timeStamping .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} OCSPSigning .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} KPClientAuth .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} pkinit .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} msScLogin .RE .sp Расширенные использования ключа, которые не входят в представленный выше список, можно указать по их OID в десятичной записи\&. .sp Пример: clientAuth,1\&.3\&.6\&.1\&.5\&.2\&.3\&.4 .RE .PP регулярное_выражение .RS 4 Для обеспечения совместимости с использованием MIT Kerberos этот параметр будет устанавливать соответствие участников Kerberos в SAN PKINIT или SAN AD NT Principal так, как это делает \&. .sp Пример: \&.*@MY\e\&.REALM .RE .PP регулярное_выражение .RS 4 Установить соответствие участников Kerberos в SAN PKINIT или SAN AD NT Principal\&. .sp Пример: \&.*@MY\e\&.REALM .RE .PP регулярное_выражение .RS 4 Установить соответствие участников Kerberos в SAN AD NT Principal\&. .sp Пример: \&.*@MY\&.AD\&.REALM .RE .PP регулярное_выражение .RS 4 Установить соответствие участников Kerberos в SAN PKINIT\&. .sp Пример: \&.*@MY\e\&.PKINIT\e\&.REALM .RE .PP регулярное_выражение .RS 4 Взять значение компонента otherName SAN, указанное с помощью OID в десятичном формате, интерпретировать его как строку и попытаться установить его соответствие регулярному выражению\&. .sp Пример: test .RE .PP строка_base64 .RS 4 Выполнить установление двоичного соответствия blob\-объекта в кодировке base64 всем компонентам otherName SAN\&. С помощью этого параметра возможно устанавливать соответствие пользовательским компонентам otherName в особых кодировках, которые не могут обрабатываться как строки\&. .sp Пример: MTIz .RE .PP регулярное_выражение .RS 4 Установить соответствие значения SAN rfc822Name\&. .sp Пример: \&.*@email\e\&.domain .RE .PP регулярное_выражение .RS 4 Установить соответствие значения SAN dNSName\&. .sp Пример: \&.*\e\&.my\e\&.dns\e\&.domain .RE .PP строка_base64 .RS 4 Установить двоичное соответствие значения SAN x400Address\&. .sp Пример: MTIz .RE .PP регулярное_выражение .RS 4 Установить соответствие значения SAN directoryName\&. Этого параметра касаются те же комментарии, которые были указаны для и \&. .sp Пример: \&.*,DC=com .RE .PP строка_base64 .RS 4 Установить двоичное соответствие значения SAN ediPartyName\&. .sp Пример: MTIz .RE .PP регулярное_выражение .RS 4 Установить соответствие значения SAN uniformResourceIdentifier\&. .sp Пример: URN:\&.* .RE .PP регулярное_выражение .RS 4 Установить соответствие значения SAN iPAddress\&. .sp Пример: 192\e\&.168\e\&.\&.* .RE .PP регулярное_выражение .RS 4 Установить соответствие значения SAN registeredID в виде десятичной строки\&. .sp Пример: 1\e\&.2\e\&.3\e\&.\&.* .RE .SS "ПРАВИЛО СОПОСТАВЛЕНИЯ" .PP Правило сопоставления используется для связывания сертификата с одной или несколькими учётными записями\&. После этого для прохождения проверки подлинности в качестве одной из этих учётных записей будет можно использовать смарт\-карту с сертификатом и соответствующим закрытым ключом\&. .PP В настоящее время SSSD поддерживает поиск данных пользователей в основном только в LDAP (исключение \(em поставщик данных прокси, что несущественно в данном контексте)\&. Поэтому правило сопоставления основано на синтаксисе фильтра поиска LDAP с шаблонами для добавления содержимого сертификата в фильтр\&. Ожидается, что фильтр будет содержать только определённые данные, необходимые для сопоставления, и что вызывающая сторона внедрит их в другой фильтр для выполнения фактического поиска\&. Поэтому строка фильтра должна, соответственно, начинаться символом \(Fo(\(Fc и заканчиваться символом \(Fo)\(Fc\&. .PP В целом, рекомендуется использовать атрибуты из сертификата и добавлять их к специальным атрибутам объекта пользователя LDAP\&. Например, можно использовать атрибут \(FoaltSecurityIdentities\(Fc в AD или атрибут \(FoipaCertMapData\(Fc для IPA\&. .PP Это предпочтительнее чтения относящихся к пользователю данных из сертификата (например, адреса электронной почты) и поиска этих данных на сервере LDAP\&. Дело в том, что относящиеся к пользователю данные в LDAP могут меняться по ряду причин, и это приведёт к ошибке сопоставления\&. С другой стороны, сложно специально вызвать ошибку сопоставления для определённого пользователя\&. .PP Типом \(lqправила сопоставления\(rq по умолчанию является \(FoLDAP\(Fc, который можно добавить в качестве префикса к правилу, например\&. \*(AqLDAP:(userCertificate;binary={cert!bin})\*(Aq\&. Расширение \(FoLDAPU1\(Fc предоставляет дополнительные шаблоны для увеличения гибкости\&. Чтобы разрешить устаревшим версиям этой библиотеки игнорировать расширения, при использовании новых шаблонов в \(lqправиле сопоставления\(rq должен быть использован префикс \(FoLDAPU1\(Fc, иначе работа устаревшей версии этой библиотеки будет завершена с сообщением об ошибке при обработке входных данных\&. Новые шаблоны описаны в разделе the section called \(lqРасширение LDAPU1\(rq\&. .PP Шаблоны для добавления данных сертификата в фильтр поиска основаны на строках форматирования в стиле Python\&. Они состоят из ключевого слова в фигурных скобках с необязательным указателем подкомпонента, который отделён знаком \(Fo\&.\(Fc, или необязательным параметром преобразования/форматирования, который отделён знаком \(Fo!\(Fc\&. Допустимые значения: .PP {issuer_dn[!((ad|ad_x500)|ad_ldap|nss_x500|(nss|nss_ldap))]} .RS 4 Этот шаблон добавит полное DN издателя, преобразованное в строку в соответствии с RFC 4514\&. Для упорядочения X\&.500 (самое специфичное RDN в конце) следует использовать параметр с префиксом \(Fo_x500\(Fc\&. .sp Параметры преобразования, которые начинаются с \(Foad_\(Fc, используют имена атрибутов, используемые AD (например, \(FoS\(Fc вместо \(FoST\(Fc)\&. .sp Параметры преобразования, которые начинаются с \(Fonss_\(Fc, используют имена атрибутов, используемые NSS\&. .sp Стандартным вариантом преобразования является \(Fonss\(Fc, то есть имена атрибутов согласно NSS и упорядочение LDAP/RFC 4514\&. .sp Пример: (ipacertmapdata=X509:{issuer_dn!ad}{subject_dn!ad}) .RE .PP {subject_dn[!((ad|ad_x500)|ad_ldap|nss_x500|(nss|nss_ldap))]} .RS 4 Этот шаблон добавит полное DN субъекта, преобразованное в строку в соответствии с RFC 4514\&. Для упорядочения X\&.500 (самое специфичное RDN в конце) следует использовать параметр с префиксом \(Fo_x500\(Fc\&. .sp Параметры преобразования, которые начинаются с \(Foad_\(Fc, используют имена атрибутов, используемые AD (например, \(FoS\(Fc вместо \(FoST\(Fc)\&. .sp Параметры преобразования, которые начинаются с \(Fonss_\(Fc, используют имена атрибутов, используемые NSS\&. .sp Стандартным вариантом преобразования является \(Fonss\(Fc, то есть имена атрибутов согласно NSS и упорядочение LDAP/RFC 4514\&. .sp Пример: (ipacertmapdata=X509:{issuer_dn!nss_x500}{subject_dn!nss_x500}) .RE .PP {cert[!(bin|base64)]} .RS 4 Этот шаблон добавит в фильтр поиска весь сертификат в кодировке DER как строку\&. В зависимости от значения параметра преобразования двоичный сертификат будет преобразован либо в экранированную шестнадцатеричную последовательность \(Fo\exx\(Fc, либо в код base64\&. Стандартным вариантом является экранированная шестнадцатеричная последовательность\&. Она может использоваться, например, с атрибутом LDAP \(FouserCertificate;binary\(Fc\&. .sp Пример: (userCertificate;binary={cert!bin}) .RE .PP {subject_principal[\&.short_name]} .RS 4 Этот шаблон добавит участника Kerberos, взятого либо из SAN, используемого pkinit, либо из SAN, используемого AD\&. Компонент \(Foshort_name\(Fc представляет первую часть записи участника, до знака \(Fo@\(Fc\&. .sp Пример: (|(userPrincipal={subject_principal})(samAccountName={subject_principal\&.short_name})) .RE .PP {subject_pkinit_principal[\&.short_name]} .RS 4 Этот шаблон добавит участника Kerberos, который указан в SAN, используемом pkinit\&. Компонент \(Foshort_name\(Fc представляет первую часть записи участника, до знака \(Fo@\(Fc\&. .sp Пример: (|(userPrincipal={subject_pkinit_principal})(uid={subject_pkinit_principal\&.short_name})) .RE .PP {subject_nt_principal[\&.short_name]} .RS 4 Этот шаблон добавит участника Kerberos, который указан в SAN, используемом AD\&. Компонент \(Foshort_name\(Fc представляет первую часть записи участника, до знака \(Fo@\(Fc\&. .sp Пример: (|(userPrincipalName={subject_nt_principal})(samAccountName={subject_nt_principal\&.short_name})) .RE .PP {subject_rfc822_name[\&.short_name]} .RS 4 Этот шаблон добавит строку, которая хранится в компоненте rfc822Name SAN (обычно это адрес электронной почты)\&. Компонент \(Foshort_name\(Fc представляет первую часть записи адреса, до знака \(Fo@\(Fc\&. .sp Пример: (|(mail={subject_rfc822_name})(uid={subject_rfc822_name\&.short_name})) .RE .PP {subject_dns_name[\&.short_name]} .RS 4 Этот шаблон добавит строку, которая хранится в компоненте dNSName SAN (обычно это полное имя узла) Компонент \(Foshort_name\(Fc представляет первую часть записи имени, до первого знака \(Fo\&.\(Fc\&. .sp Пример: (|(fqdn={subject_dns_name})(host={subject_dns_name\&.short_name})) .RE .PP {subject_uri} .RS 4 Этот шаблон добавит строку, которая хранится в компоненте uniformResourceIdentifier SAN\&. .sp Пример: (uri={subject_uri}) .RE .PP {subject_ip_address} .RS 4 Этот шаблон добавит строку, которая хранится в компоненте iPAddress SAN\&. .sp Пример: (ip={subject_ip_address}) .RE .PP {subject_x400_address} .RS 4 Этот шаблон добавит значение, которое хранится в компоненте x400Address SAN как экранированная шестнадцатеричная последовательность\&. .sp Пример: (attr:binary={subject_x400_address}) .RE .PP {subject_directory_name[!((ad|ad_x500)|ad_ldap|nss_x500|(nss|nss_ldap))]} .RS 4 Этот шаблон добавит строку DN значения, которое хранится в компоненте directoryName SAN\&. .sp Пример: (orig_dn={subject_directory_name}) .RE .PP {subject_ediparty_name} .RS 4 Этот шаблон добавит значение, которое хранится в компоненте ediPartyName SAN как экранированная шестнадцатеричная последовательность\&. .sp Пример: (attr:binary={subject_ediparty_name}) .RE .PP {subject_registered_id} .RS 4 Этот шаблон добавит OID, который хранится в компоненте registeredID SAN как десятичная строка\&. .sp Пример: (oid={subject_registered_id}) .RE .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBРасширение LDAPU1\fR .RS 4 .PP При использовании расширения \(FoLDAPU1\(Fc доступны следующие шаблоны: .PP .PP {serial_number[!(dec|hex[_ucr])]} .RS 4 Этот шаблон добавит серийный номер сертификата\&. По умолчанию он будет напечатан как шестнадцатеричное число буквами нижнего регистра\&. .sp Если используется параметр форматирования \(Fo!dec\(Fc, число будет выведено в виде десятичной строки\&. Шестнадцатеричный вывод может быть показан буквами в верхнем регистре (\(Fo!hex_u\(Fc), с двоеточием, разделяющим шестнадцатеричные байты (\(Fo!hex_c\(Fc), или с шестнадцатеричными байтами в обратном порядке (\(Fo!hex_r\(Fc)\&. Буквы постфикса можно комбинировать, например, \(Fo!hex_uc\(Fc приведет к выводу шестнадцатеричной строки, разделенной двоеточием, с буквами в верхнем регистре\&. .sp Пример: LDAPU1:(serial={серийный_номер}) .RE .PP {subject_key_id[!hex[_ucr]]} .RS 4 Этот шаблон добавит идентификатор ключа назначения сертификата\&. По умолчанию он будет напечатан как шестнадцатеричное число буквами нижнего регистра\&. .sp Шестнадцатеричный вывод может быть показан буквами в верхнем регистре (\(Fo!hex_u\(Fc), с двоеточием, разделяющим шестнадцатеричные байты (\(Fo!hex_c\(Fc), или с шестнадцатеричными байтами в обратном порядке (\(Fo!hex_r\(Fc)\&. Буквы постфикса можно комбинировать, например, \(Fo!hex_uc\(Fc приведет к выводу шестнадцатеричной строки, разделенной двоеточием, с буквами в верхнем регистре\&. .sp Пример: LDAPU1:(ski={subject_key_id}) .RE .PP {cert[!DIGEST[_ucr]]} .RS 4 Этот шаблон добавит шестнадцатеричную контрольную сумму или хэш к сертификату\&. Запись DIGEST должна быть заменена названием функции контрольной суммы или хэша, поддержка которых предусмотрена в OpenSSL, например\&. \(Fosha512\(Fc\&. .sp Шестнадцатеричный вывод может быть показан буквами в верхнем регистре (\(Fo!sha512_u\(Fc), с двоеточием, разделяющим шестнадцатеричные байты (\(Fo!sha512_c\(Fc), или с шестнадцатеричными байтами в обратном порядке (\(Fo!sha512_r\(Fc)\&. Буквы постфикса можно комбинировать, например, \(Fo!sha512_uc\(Fc приведет к выводу шестнадцатеричной строки, разделенной двоеточием, с буквами в верхнем регистре\&. .sp Пример: LDAPU1:(dgst={cert!sha256}) .RE .PP {subject_dn_component[(\&.attr_name|[number]]} .RS 4 Этот шаблон добавит значение атрибуту компонента DN субъекта, по умолчанию значением является самый специфический компонент\&. .sp Другой компонент может быть выбран по имени атрибута, например, {subject_dn_component\&.uid} или по позиции, например, {subject_dn_component\&.[2]}, где положительные числа означают отсчет от наиболее специфичного компонента, а отрицательные числа \(em от наименее специфичного компонента\&. Название атрибута и позиция могут быть объединены, например, {subject_dn_component\&.uid[2]} означает, что имя второго компонента должно быть \(Fouid\(Fc\&. .sp Пример: LDAPU1:(uid={subject_dn_component\&.uid}) .RE .PP {issuer_dn_component[(\&.attr_name|[number]]} .RS 4 Этот шаблон добавит значение атрибуту компонента DN издателя, по умолчанию значением является самый специфический компонент\&. .sp См\&. раздел \(Fosubject_dn_component\(Fc для получения более подробной информации о названиях атрибутов и спецификаторов позиции\&. .sp Пример: LDAPU1:(domain={issuer_dn_component\&.[\-2]}\&.{issuer_dn_component\&.dc[\-1]}) .RE .PP {sid[\&.rid]} .RS 4 Этот шаблон добавит SID, если доступно соответствующее расширение, представленное Microsoft с OID 1\&.3\&.6\&.1\&.4\&.1\&.311\&.25\&.2\&. С помощью селектора \(Fo\&.rid\(Fc будет добавлен только последний компонент, то есть RID\&. .sp Пример: LDAPU1:(objectsid={sid}) .RE .RE .SS "СПИСОК ДОМЕНОВ" .PP Когда список доменов не пуст, поиск пользователей, сопоставленных указанному сертификату, будет выполняться не только в локальном домене, но также и в перечисленных в списке доменах, если они известны SSSD\&. Домены, которые неизвестны SSSD, будут игнорироваться\&. .SH "AUTHORS" .PP \fBВосходящий источник (\(Foапстрим\(Fc) SSSD \(em https://github\&.com/SSSD/sssd/\fR