SignedXml и кавычки в сертификате
От: Laplander  
Дата: 02.04.18 08:47
Оценка:
Добрый день.

XML-файл подписывается с помощью SignedXml.
При этом в сертификате наименование организации указано в кавычках. Например: "BANK NAME".
В итоге следующий код:
KeyInfoX509Data kiData = new KeyInfoX509Data(certificate);
kiData.AddSubjectName(certificate.Subject);            
KeyInfo keyInfo = new KeyInfo();
keyInfo.AddClause(kiData);


генерирует XML-элемент, в котором кавычки затроились:

<KeyInfo>
<X509Data>
<X509SubjectName>CN=bank.ru, OU=IT Department, O="""BANK NAME"""</X509SubjectName>
</X509Data>
</KeyInfo>


Вопрос такой. Это баг или фича? И не будет ли проблем, если подписанный файл будет обрабатываться не .NET программой?
Отредактировано 02.04.2018 8:48 Laplander . Предыдущая версия .
Re: SignedXml и кавычки в сертификате
От: Mihas  
Дата: 02.04.18 08:55
Оценка: +1
Здравствуйте, Laplander, Вы писали:

L>
L><X509SubjectName>CN=bank.ru, OU=IT Department, O="""ORIENT EXPRESS BANK"""</X509SubjectName>
L>


L>Вопрос такой. Это баг или фича? И не будет ли проблем, если подписанный файл будет обрабатываться не .NET программой?

А что спецификация формата XML говорит? Тройные кавычки — это не экранирование кавычек в содержимом атрибута?
Re[2]: SignedXml и кавычки в сертификате
От: · Великобритания  
Дата: 03.04.18 13:44
Оценка:
Здравствуйте, Mihas, Вы писали:

L>>
L>><X509SubjectName>CN=bank.ru, OU=IT Department, O="""ORIENT EXPRESS BANK"""</X509SubjectName>
L>>

L>>Вопрос такой. Это баг или фича? И не будет ли проблем, если подписанный файл будет обрабатываться не .NET программой?
M>А что спецификация формата XML говорит? Тройные кавычки — это не экранирование кавычек в содержимом атрибута?
В XML кавычки экранируются &quot;. Да и в данном случае это не значение содержимого атрибута, а текст внутри тега.
А в Distinguished Name кавычки экранируются символом \. Или я что-то не знаю, или бага.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Отредактировано 03.04.2018 13:47 · . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.