Ну вот сбылась мечта идиота...
В Microsoft.Xades добавил класс Prefix, а в нем три префикса:
prefixXmldsig = "ds";
prefixXades = "xades";
prefixXSD = "xsd";
Пробежался по всем текстам.
Теперь префиксы можно задавать "на ходу"
даже prefixXmldsig = "UraBorke";
Подпись с таким префиксом и формируется и стандартной SignedXml проверяется.
Вопрос 1: Кто бы мне объяснил глубокий смысл наличия префикса "xsd" и множеству выборов узлов с ним?
Кстати насколько я понимаю стандарт не требует
prefixXmldsig = "ds" и префикс может быть любым.
Далее TimeStamp - сформировал, запросил, получил, вырезал, вставил.
Проверку пока не делал, ибо не знаю точно что и как.
Проверил с помощью tsputil.exe, и мне ответили:
Цитата:Policy ID: 1.2.643.2.2.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1
Serial Number: 0664 F5F9 BC00 0000 0000 084D FE
Accuracy (microseconds): -1
Ordering: 0
HasNonce: 0
TSA:
Stamp time: 01.08.2015 16:43:57
Hash algorithm: 1.2.643.2.2.9, ALG_ID: 0x801E
Hash size: 32
Hash: 981E 5F3C A30C 8414 8783 0F84 FB43 3E13 AC11 0156 9B9C 1358 4AC4 8323 4CD6 56C0
Certificate of signer of time-stamp: CN=Тестовая служба TSP на testca.cryptopro.ru, O="ООО ""КРИПТО-ПРО""", L=Москва, S=Москва, C=RU
Verification of time-stamp: succeed.
Verification of certificate of signer of time-stamp: FAILED, 0x800B0109 Цепочка сертификатов обработана, но обработка прервана на корневом сертификате, у которого отсутствует отношение доверия с поставщиком доверия.
Certificates from time-stamp (1):
CN=Тестовая служба TSP на testca.cryptopro.ru, O="ООО ""КРИПТО-ПРО""", L=Москва, S=Москва, C=RU
Смущает Policy ID, это так и надо?
Радует "Verification of time-stamp: succeed"
Вопрос 2: Если succeed, то все нормально?
Дополнительно: Если посмотреть на внутренности System.Xml.dll и поискать "ds",
то найдется и не одно вхождение. С моей точки зрения это
бардакОтредактировано пользователем 1 августа 2015 г. 18:45:11(UTC)
| Причина: Добавил про SignedXml