Приложение №7 к Правилам корпоративного электронного документооборота «Личный кабинет. Клиент инфраструктуры обслуживания» Электронная цифровая подпись. Формат XML-ЭЦП Настоящий документ определяет требования к формату Электронной цифровой подписи, используемой в Системе. Электронная цифровая подпись в формате XMLdsig (далее XML-ЭЦП) используется для представления электронной цифровой подписи в документах формата XML. XML-ЭЦП формируется в рамках Рекомендации W3C «XMLSignature Syntax and Processing» от 12.02.2002. На формат подписи накладываются дополнительные ограничения, приводимые в настоящем документе. Ссылки на используемые стандарты приведены в Приложении№8 к настоящим Правилам. Здесь и далее термины «элемент» и «узел» являются синонимами. 1. Формат XML-ЭЦП для подписи одного элемента XML-документа (далее Формат) <Signature Id="{Идентификатор Signature}" xmlns="http://www.w3.org/2000/09/xmldsig#" xmlns:dse="http://cabinet.frsd.ru/schema/xmldsigext-frsd/rel-1/" > <SignedInfo> <CanonicalizationMethod Algorithm="http://cabinet.frsd.ru/info/OID/1.2.643.6.2.1.8.1"/> <SignatureMethod Algorithm="http://cabinet.frsd.ru/info/OID/1.2.643.6.2.1.8.3"/> <Reference URI="#xpointer(//*[@uuid='{Идентификатор подписываемого элемента}'])"> <Transforms> <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/> </Transforms> <DigestMethod Algorithm="http://cabinet.frsd.ru/info/OID/1.2.643.6.2.1.8.2"/> <DigestValue>{Значение хеша в кодировке Base64}</DigestValue> </Reference> <Reference URI="#{Идентификатор KeyInfo}"> <DigestMethod Algorithm="http://cabinet.frsd.ru/info/OID/1.2.643.6.2.1.8.2"/> <DigestValue>{Значение хеша в кодировке Base64}</DigestValue> </Reference> <Reference URI="#{Идентификатор SignatureProperties}"> <DigestMethod Algorithm="http://cabinet.frsd.ru/info/OID/1.2.643.6.2.1.8.2"/> <DigestValue>{Значение хеша в кодировке Base64}</DigestValue> </Reference> </SignedInfo> <SignatureValue>{Значение подписи в кодировке Base64}</SignatureValue> <KeyInfo Id="{Идентификатор KeyInfo}"> <X509Data> <X509Certificate> {Сертификат лица, подписавшего документ, в кодировке Base64} </X509Certificate> <dse:PublicKeyHash>{Значение хеша открытого ключа в кодировке Base64}</dse:PublicKeyHash> </X509Data> </KeyInfo> <Object> <SignatureProperties Id="{Идентификатор SignatureProperties}"> <SignatureProperty Target="#{Идентификатор Signature}"> <dse:Events SignatureTime="{ГГГГ-ММ-ДДTчч:мм:ссZ}"/> <dse:MetaInfo> <dse:Algorithms> <dse:Algorithm Name="Validate" URI="http://cabinet.frsd.ru/info/OID/1.2.643.6.2.1.9.1"/> <dse:Algorithm Name="Analyze" URI="http://cabinet.frsd.ru/info/OID/1.2.643.6.2.1.8.5"/> <dse:Algorithm Name="Report URI="http://cabinet.frsd.ru/info/OID/1.2.643.6.2.1.8.6"/> </dse:Algorithms> </dse:MetaInfo> </SignatureProperty> </SignatureProperties> </Object> </Signature> 2. Требования к подписываемому XML-Документу Документ не должен содержать иных элементов с именем Signature в пространстве имен «http://www.w3.org/2000/09/xmldsig#», кроме элементов, соответствующих настоящему Формату. 2.1. 3. Пояснения к формату и требования к документу: Значением XML-ЭЦП является XML-элемент в формате соответствующем п.1 настоящего Приложения. Значение XML-ЭЦП включается внутрь подписываемого элемента XML-документа, который определяется как элемент, на который ссылается первый элемент «SignedInfo/Reference» в элементе «Signature/SignedInfo». При этом Значение XML-ЭЦП должно являться дочерним узлом подписываемого элемента. При вычислении и проверке 3.1. 3.2. 1 Приложение №7 к Правилам корпоративного электронного документооборота «Личный кабинет. Клиент инфраструктуры обслуживания» электронной цифровой подписи рассматривается подпись указанного элемента документа, исключая Значение XMLЭЦП и всех следующих за ним «соседних» элементов. 3.3. Все компоненты значения XML-ЭЦП (элементы, атрибуты и их значения) должны в точности повторять приведенный Формат. 3.4. Значения, заключенные в фигурные скобки, являются переменными величинами и вычисляются в процессе создания XML-ЭЦП. 3.5. Для представления расширенных свойств XML-ЭЦП используется пространство имен «http://cabinet.frsd.ru/schema/xmldsigext-frsd/rel-1/». 3.6. Значения атрибутов, начинающиеся со строки вида «http://cabinet.frsd.ru/info/OID/», являются ссылками на интернет-страницы с описанием алгоритма, применяемого для получения соответствующего значения элемента XMLЭЦП. Остальная часть строки значения является уникальным OID идентификатором алгоритма. 3.7. Значения атрибута «Id» XML-ЭЦП должны формироваться в соответствии со стандартами X.667 и RFC 4122. 3.8. Значения атрибута «Id» подписываемого XML-документа должны быть уникальными в рамках всего документа и не совпадать со значениями п.3.7 атрибута «Id» других элементов документа. 3.9. В элемент SignatureProperty не допускается включение иных элементов, кроме принадлежащих пространству имен «http://cabinet.frsd.ru/schema/xmldsigext-frsd/rel-1/». 3.10. Дата и время указываются в формате ГГГГ-ММ-ДДTчч:мм:ссZ , где ГГГГ – год, ММ – месяц (01–12), ДД – день (01–31), чч – час (00–23), мм – минута (00–59), сс – секунда (00–59). Указывается универсальное координированное время формирования подписи. 3.11. Значением элемента «X509Certificate» является Сертификат лица, подписавшего элемент документа, закодированный в кодировке Base64 (RFC 3548), полученный из файла сертификата X.509 в кодировке DER (стандарт ITU-T X.509, RFC 2459). 3.12. Значениями атрибутов «URI» и «Target», элементов XML-ЭЦП, являются ссылки на элементы подписываемого документа и на элементы значения XML-ЭЦП. Значения атрибутов «URI» могут быть представлены в следующих вариантах: 3.12.1. Форма «#xpointer(//*[@uuid='{Идентификатор подписываемого элемента}'])» обозначает ссылку на подписываемый элемент XML-документа, имеющего атрибут «uuid» со значением равным «Идентификатор подписываемого элемента». В документе должен быть только один элемент, отвечающий данному условию поиска. 3.12.2. Форма «#{Идентификатор …}» обозначает ссылку на элемент значения XML-ЭЦП, содержащий атрибут «Id», значение которого равно «{Идентификатор …}». 2