Почему моя ссылка (URI "") преобразуется в ds: Manifest, а не в корневой элемент, как следует? - PullRequest
1 голос
/ 11 ноября 2019

Я сгенерировал метку безопасности, которая имеет корневой элемент: Binding-Information с дочерним MetadataBindingContainer и подписью. Когда я генерирую XML, Ссылка с URI "" переваривает все, кроме SignatureValue и самой ссылки.

После этого я хочу проверить метку, проверив References (и некоторые другие вещи, но это не имеет никакого отношения к проблеме). Каждая ссылка проверяется очень хорошо. Например, ссылка на объект данных и ссылка на манифест. Но как только он пытается проверить ссылку на весь документ (URI = ""), происходит сбой. DigesterOutputStream также показывает, что он указывает только на манифест. Поэтому я вошел в код и заметил, что когда он вызывает функцию: context.attr.getOwnerElement (). GetOwnerDocument () в классе ResolverFragment (engineResolveURI), он не получает ожидаемый документ, а только элемент манифеста. У меня было ощущение, что BaseURI был неправильным, поэтому я изменил это в XMLSignatureObject, чтобы я вызывал .getSignedInfo (). VerifyRreferences (true). Но это тоже не сработало.

Другое предположение, что Требуется исключение, и я должен проверить Ссылку в Манифесте другим способом.

Любое Предложение о том, как действовать, оченьоценили. Решение моей проблемы было бы еще лучше.

...