Параметры Удостоверяющего Центра (DSSRestCAPolicy)
Параметры (политика) Удостоверяющего Центра являются частью политики Сервиса Подписи.
Политику Сервиса Подписи можно получить, вызвав метод /policy.
Политика Удостоверяющего Центра (УЦ) определяет требования к создаваемому запросу на сертификат
и содержит поля, описанные в структуре DSSCAPolicy.
Дополнительно политика УЦ содержит следующие поля.
Поле |
Тип |
Описание |
CryptoProviderInfos |
IDictionary<string, List<DssCryptoProviderInfo>> |
Соответствие шаблона сертификата и доступных криптопровайдеров |
ShowInUi |
bool |
Значение, показывающее, отображать ли данный модуль в Веб-интерфейсе |
ExtensionsPolicy |
IList<CertExtensionData> |
Список расширений сертификата, которые попадут в запрос на сертификат |
RevocationFlag |
X509RevocationFlag |
Режим проверки цепочки сертификатов. 0 - Проверять только последний сертификат в цепочке, 1 - Проверять всю цепочку сертификатов, 2 - Проверять всю цепочку сертификатов за исключением корневого |
Features |
List<string> |
Список возможностей, которые поддерживает модуль УЦ (например, только создание запроса, отзыв сертификата и т.д.) |
Поле |
Тип |
Описание |
ID |
int |
Идентификатор Удостоверяющего Центра. |
Name |
string |
Отображаемое имя Удостоверяющего Центра. |
Active |
bool |
Доступен ли УЦ для создания запросов (фактически всегда равно true, так как Сервис Подписи отдает список только активных УЦ). |
AllowUserMode |
bool |
Режим работы обработчика Удостоверяющего Центра. |
SNChangesEnable |
bool |
Разрешено ли редактировать различительное имя пользователя при создании запроса на сертификат (если false, то данные берутся из первого запроса на сертификат или из учетной записи, если заполняется впервые). |
NamePolicy |
List<SubjectNameComponent> |
Шаблон различительного имени пользователя. Содержит список компонентов различительного имени, их порядок и обязательность. |
EkuTemplates |
Dictionary<string, List<string>> |
Словарь шаблонов сертификатов в формате {“Наименование шаблона”, {Список OID}}. Может содержать наборы EKU (для модуля стороннего УЦ) либо список {“Наименование шаблона”, {Единственный OID}} для модуля УЦ 2.0. |
CAType |
DSSCAType |
Тип модуля интеграции с Удостоверяющим Центром. |
ValidationMode |
CertificateValidationMode |
Способ проверки цепочки сертификатов. |
Описание полей шаблона различительного имени пользователя (SubjectNameComponent)
Поле |
Тип |
Описание |
IsRequired |
bool |
Требовать обязательного заполнения компоненты имени. |
Order |
int |
Порядковый номер в списке компонент. |
OID |
string |
Объектный идентификатор компоненты имени. |
Name |
string |
Понятное имя компоненты. |
Value |
string |
Значение. |
StringIdentifier |
string |
Строковый идентификатор компонента |
Типы подключенных Удостоверяющих Центров (DSSCAType)
Наименование |
Описание |
CryptoProCA20Enroll |
Модуль интеграции с КриптоПро УЦ 2.0 |
DSSOutOfBandEnroll |
Модуль интеграции со сторонним УЦ (Offline). |
Наименование |
Описание |
CertificateAuthority |
Статус сертификата будет получен из УЦ (только для КриптоПро УЦ 2.0) |
ChainOnline |
Статус сертификатов проверяется по кэшированным CRL, но в случае истечения срока действия CRL будет сделана попытка скачать актуальный CRL |
ChainOffline |
Статус сертификатов проверяется по кэшированным CRL |
NoCheck |
Статус сертификата не проверяется |
OCSP |
Статус сертификата будет запрошен у подключенной службы OCSP |
Поле |
Тип |
Описание |
ProvType |
int |
Идентификатор криптопровайдера |
Priority |
int |
Число, обозначающее порядок в списке. Провайдер с наибольшим порядком является провайдером по умолчанию |
Поле |
Тип |
Описание |
Oid |
string |
Объектный идентификатор расширения сертификата |
Value |
byte[] |
Закодированное значение расширения сертификата |
Critical |
bool |
Флаг, показывающий, является ли расширение критичным |
Пример политики УЦ, возращаемой Сервисом Подписи (метод policy)
"CAPolicy": [
{
"CryptoProviderInfos": null,
"ShowInUi": true,
"ExtensionsPolicy": null,
"RevocationFlag": "ExcludeRoot",
"ID": 1,
"Name": "OOB",
"Active": true,
"AllowUserMode": false,
"SNChangesEnable": true,
"NamePolicy": [
{
"IsRequired": true,
"Order": 1,
"OID": "2.5.4.3",
"Name": "Общее имя",
"Value": null,
"StringIdentifier": "CN"
},
{
"IsRequired": false,
"Order": 2,
"OID": "2.5.4.4",
"Name": "Фамилия",
"Value": null,
"StringIdentifier": "SN"
},
{
"IsRequired": false,
"Order": 3,
"OID": "2.5.4.42",
"Name": "Имя и отчество",
"Value": null,
"StringIdentifier": "G"
},
{
"IsRequired": false,
"Order": 4,
"OID": "1.2.840.113549.1.9.1",
"Name": "Электронная почта",
"Value": null,
"StringIdentifier": "E"
},
{
"IsRequired": true,
"Order": 5,
"OID": "2.5.4.6",
"Name": "Страна/регион",
"Value": null,
"StringIdentifier": "C"
},
{
"IsRequired": false,
"Order": 6,
"OID": "2.5.4.8",
"Name": "Регион",
"Value": null,
"StringIdentifier": "S"
},
{
"IsRequired": false,
"Order": 7,
"OID": "2.5.4.7",
"Name": "Населенный пункт",
"Value": null,
"StringIdentifier": "L"
},
{
"IsRequired": false,
"Order": 8,
"OID": "2.5.4.9",
"Name": "Адрес",
"Value": null,
"StringIdentifier": "Street"
},
{
"IsRequired": false,
"Order": 9,
"OID": "2.5.4.10",
"Name": "Организация",
"Value": null,
"StringIdentifier": "O"
},
{
"IsRequired": false,
"Order": 10,
"OID": "2.5.4.11",
"Name": "Подразделение",
"Value": null,
"StringIdentifier": "OU"
},
{
"IsRequired": false,
"Order": 11,
"OID": "2.5.4.12",
"Name": "Должность и звание",
"Value": null,
"StringIdentifier": "T"
},
{
"IsRequired": false,
"Order": 12,
"OID": "1.2.643.100.1",
"Name": "ОГРН",
"Value": null,
"StringIdentifier": "OGRN"
},
{
"IsRequired": false,
"Order": 13,
"OID": "1.2.643.3.131.1.1",
"Name": "ИНН",
"Value": null,
"StringIdentifier": "INN"
},
{
"IsRequired": false,
"Order": 14,
"OID": "1.2.643.100.3",
"Name": "СНИЛС",
"Value": null,
"StringIdentifier": "SNILS"
},
{
"IsRequired": false,
"Order": 15,
"OID": "1.2.643.100.5",
"Name": "ОГРНИП",
"Value": null,
"StringIdentifier": "OGRNIP"
}
],
"EKUTemplates": {
"Сертификат пользователя": [
"1.3.6.1.5.5.7.3.2",
"1.3.6.1.5.5.7.3.4"
]
},
"CAType": "DSSOutOfBandEnroll",
"ValidationMode": "ChainOnline"
},
{
"CryptoProviderInfos": {
"1.2.643.2.2.46.0.0": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.46.0.1": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.50.1.12": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.46.0.3": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.46.0.2": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.46.0.5": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.46.0.9": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.46.0.8": [
{
"ProvType": 80
}
],
"1.2.643.2.2.46.0.6": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.50.1.14": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.46.0.4": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.46.0.7": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.50.1.13": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.50.1.11": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.50.1.9.6020065.6395710.10306990.9708272.29709.53524": [
{
"ProvType": 80
},
{
"ProvType": 81
},
{
"ProvType": 75
}
],
"1.2.643.2.2.50.1.9.7110394.3027859.11355318.14444832.22086.40644": [
{
"ProvType": 75
}
],
"1.2.643.2.2.50.1.9.6629100.2652596.12274471.7658574.11287.54479": [
{
"ProvType": 1
}
]
},
"ShowInUi": true,
"ExtensionsPolicy": null,
"RevocationFlag": "ExcludeRoot",
"ID": 2,
"Name": "FlashUC",
"Active": true,
"AllowUserMode": false,
"SNChangesEnable": true,
"NamePolicy": [
{
"IsRequired": true,
"Order": 0,
"OID": "2.5.4.3",
"Name": "Общее имя",
"Value": null,
"StringIdentifier": "CN"
},
{
"IsRequired": false,
"Order": 3,
"OID": "2.5.4.6",
"Name": "Страна/регион",
"Value": null,
"StringIdentifier": "C"
},
{
"IsRequired": false,
"Order": 5,
"OID": "2.5.4.7",
"Name": "Город",
"Value": null,
"StringIdentifier": "L"
},
{
"IsRequired": false,
"Order": 7,
"OID": "2.5.4.10",
"Name": "Организация",
"Value": null,
"StringIdentifier": "O"
},
{
"IsRequired": false,
"Order": 8,
"OID": "2.5.4.11",
"Name": "Подразделение",
"Value": null,
"StringIdentifier": "OU"
},
{
"IsRequired": false,
"Order": 9,
"OID": "2.5.4.12",
"Name": "Должность или звание",
"Value": null,
"StringIdentifier": "T"
},
{
"IsRequired": false,
"Order": 13,
"OID": "1.2.840.113549.1.9.1",
"Name": "Адрес E-Mail",
"Value": null,
"StringIdentifier": "E"
},
{
"IsRequired": false,
"Order": 22,
"OID": "1.3.6.1.4.1.311.25.1",
"Name": "GUID контроллера домена",
"Value": null,
"StringIdentifier": "DCGuid"
},
{
"IsRequired": false,
"Order": 26,
"OID": "1.2.643.2.2.44.5",
"Name": "Список полных имен DNS",
"Value": null,
"StringIdentifier": "DNSList"
}
],
"EKUTemplates": {
"Веб-сервер": [
"1.2.643.2.2.46.0.3"
],
"Перекрестный Центр сертификации": [
"1.2.643.2.2.46.0.2"
],
"Проверка подлинности клиента": [
"1.2.643.2.2.46.0.6"
],
"Пользователь": [
"1.2.643.2.2.46.0.8"
],
"Служба актуальных статусов (OCSP)": [
"1.2.643.2.2.50.1.11"
],
"Временный пользователь": [
"1.2.643.2.2.46.0.9"
],
"Корневой Центр сертификации": [
"1.2.643.2.2.46.0.0"
],
"Проверка подлинности рабочей станции или сервера инфраструктуры УЦ": [
"1.2.643.2.2.46.0.5"
],
"Защита электронной почты": [
"1.2.643.2.2.46.0.7"
],
"Служба штампов времени (TSP)": [
"1.2.643.2.2.50.1.12"
],
"Пользователь смарт-карт": [
"1.2.643.2.2.50.1.14"
],
"Контроллер домена": [
"1.2.643.2.2.50.1.13"
],
"Веб-сервер инфраструктуры УЦ": [
"1.2.643.2.2.46.0.4"
],
"RSA1": [
"1.2.643.2.2.50.1.9.6629100.2652596.12274471.7658574.11287.54479"
],
"Пользователь 2001": [
"1.2.643.2.2.50.1.9.7110394.3027859.11355318.14444832.22086.40644"
],
"Подчиненный Центр сертификации": [
"1.2.643.2.2.46.0.1"
],
"Пользователь со встроенной лицензией": [
"1.2.643.2.2.50.1.9.6020065.6395710.10306990.9708272.29709.53524"
]
},
"CAType": "CryptoProCA20Enroll",
"ValidationMode": "ChainOnline"
}
],
"CSPsPolicy": [
{
"SupportedParamSets": [
"1.2.643.2.2.36.0",
"1.2.643.2.2.36.1",
"1.2.643.7.1.2.1.1.1",
"1.2.643.2.2.35.1",
"1.2.643.2.2.35.2",
"1.2.643.2.2.35.3"
],
"ID": "91e73763-07a1-45a1-be8d-4d2611e3b7da",
"GroupID": "92b89090-37b5-44ff-a327-80e41a80edac",
"TypeID": 2,
"ProviderName": "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider",
"ProviderType": 80,
"KeyLength": 512,
"HashAlgorithms": [
"GR 34.11-2012 256"
],
"Description": "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider"
},
{
"SupportedParamSets": [
"1.2.643.2.2.36.0",
"1.2.643.2.2.36.1",
"1.2.643.7.1.2.1.1.1",
"1.2.643.2.2.35.1",
"1.2.643.2.2.35.2",
"1.2.643.2.2.35.3"
],
"ID": "0b0a8145-251b-4fc2-85cc-aa8d2cbd9bd8",
"GroupID": "a509026d-0111-4c86-acab-8c93a5125415",
"TypeID": 2,
"ProviderName": "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider",
"ProviderType": 80,
"KeyLength": 512,
"HashAlgorithms": [
"GR 34.11-2012 256"
],
"Description": "Тестовый провайдер 01.01.2020"
}
],
"ActionPolicy": [
{
"DisplayName": "Выпуск маркера (вход в ЦИ)",
"Uri": "http://dss.cryptopro.ru/identity/claims/action/Issue",
"Action": "Issue",
"MfaRequired": false
},
{
"DisplayName": "Подпись документа",
"Uri": "http://dss.cryptopro.ru/identity/claims/action/SignDocument",
"Action": "SignDocument",
"MfaRequired": false
},
{
"DisplayName": "Подпись пакета документов",
"Uri": "http://dss.cryptopro.ru/identity/claims/action/SignDocuments",
"Action": "SignDocuments",
"MfaRequired": false
},
{
"DisplayName": "Расшифрование документа",
"Uri": "http://dss.cryptopro.ru/identity/claims/action/DecryptDocument",
"Action": "DecryptDocument",
"MfaRequired": false
},
{
"DisplayName": "Создание запроса на сертификат",
"Uri": "http://dss.cryptopro.ru/identity/claims/action/CreateRequest",
"Action": "CreateRequest",
"MfaRequired": false
},
{
"DisplayName": "Смена пин-кода закрытого ключа",
"Uri": "http://dss.cryptopro.ru/identity/claims/action/ChangePin",
"Action": "ChangePin",
"MfaRequired": false
},
{
"DisplayName": "Обновление сертификата",
"Uri": "http://dss.cryptopro.ru/identity/claims/action/RenewCertificate",
"Action": "RenewCertificate",
"MfaRequired": false
},
{
"DisplayName": "Отзыв сертификата",
"Uri": "http://dss.cryptopro.ru/identity/claims/action/RevokeCertificate",
"Action": "RevokeCertificate",
"MfaRequired": false
},
{
"DisplayName": "Удаление сертификата",
"Uri": "http://dss.cryptopro.ru/identity/claims/action/DeleteCertificate",
"Action": "DeleteCertificate",
"MfaRequired": false
},
{
"DisplayName": "Доступ к закрытому ключу",
"Uri": "http://dss.cryptopro.ru/identity/claims/action/PrivateKeyAccess",
"Action": "PrivateKeyAccess",
"MfaRequired": false
}
],
"PinCodeMode": "Allow",
"TspServices": [
{
"Name": "Отображаемое имя тестовой службы TSP",
"Title": "TSP",
"Url": "http://flashuc/TSP/tsp.srf"
}
],
"AllowThirdPartyTsp": true,
"AllowHashSigning": true,
"TransactionConfirmation": "NotSet",
"AllowedSignatureTypes": [
"CAdES",
"CMS",
"GOST3410",
"MSOffice",
"PDF",
"XMLDSig"
],
"ProcessingTemplates": [
{
"ID": 1,
"Description": "Подпись CAdES BES"
}
]