Я пытаюсь реализовать отраслевую спецификацию, которая требует использования цифровых подписей в формате XML (XMLDSIG). Вместо соответствия с примерами (<Signature>
) моя спецификация использует свое собственное имя для элемента подписи:
<xs:element name="ensembleSignature" type="dsig:SignatureType" />
<!-- wish this was: <xs:element ref="dsig:Signature" /> -->
Таким образом, элемент не называется «Подпись» и находится в пространстве имен XML домена вместо пространства имен XML dsig.
Имея много дополнительной работы, я могу создать эту собственную подпись в .NET.
- Используя класс .NET SignedXml, я создаю элемент
- Я манипулирую DOM, чтобы удалить и воссоздать элемент как .
Но, похоже, .NET не может проверить входящий , даже если я переименую входящий элемент обратно в .
Я много раз изучал спецификацию XMLDSIG, и хотя во всех их примерах используется , похоже, что это имя не требуется специально, даже для преобразований с конвертами. Так это ошибка в SignedXml, что он поддерживает это имя только одного элемента, когда в спецификации XMLDSIG такого требования нет?