powered by simpleCommunicator - 2.0.46     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Нужна помощь по ws-security
4 сообщений из 4, страница 1 из 1
Нужна помощь по ws-security
    #37979876
Grrrizli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.
Столкнулся с небольшой проблемой при формировании подписанного ЭЦП SOAP сообщения.
Предисловие:
Есть Web-service СМЭВ (Система Межведомственного Электронного Взаимодействия), SOAP сообщения к которому должны быть подписаны ЭЦП определенного формата (один из ГОСТов). Для этого сервиса пишется клиент на C#. MSVS 2010 на основе wsdl сервиса сгенерировал классы. Никак не могу добиться чтобы в исходящем сообщении был вообще какой-либо Header (смотрю HttpAnalyzer-ом).

Подскажите в какую сторону копать. Перерыл кучу информации но четкой картины в голове не сложилось (скорее наоборот)

Возможно, я упустил что-то чрезвычайно важное, ибо это первый опыт работы с Web-services.

Примерно вот такой Header должен получится:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
<soapenv:Header>
	<wsse:Security soapenv:actor="...">
		<wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="SenderCertificate"><!-- Токен безопасности в Base64 --></wsse:BinarySecurityToken>
		<ds:Signature Id="sender-wssec">
			<ds:SignedInfo>
				<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
				<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411"/>
				<ds:Reference URI="#sampleRequest">
					<ds:Transforms>
						<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
					</ds:Transforms>
					<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/>
					<ds:DigestValue><!-- Значение хеша в Base64 --></ds:DigestValue>
				</ds:Reference>
			</ds:SignedInfo>
			<ds:SignatureValue><!-- Значение подписи в Base64 --></ds:SignatureValue>
			<ds:KeyInfo>
				<wsse:SecurityTokenReference>
					<wsse:Reference URI="#SenderCertificate" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
				</wsse:SecurityTokenReference>
			</ds:KeyInfo>
		</ds:Signature>
	</wsse:Security>
</soapenv:Header>



Буду благодарен как за литературу и примеры, так и за направление куда копать
...
Рейтинг: 0 / 0
Нужна помощь по ws-security
    #37983157
alegn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Grrrizli,
возможно, это http://mustiksprogramming.blogspot.com/ поможет решить Вашу проблему.
...
Рейтинг: 0 / 0
Нужна помощь по ws-security
    #37983637
Grrrizli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Благодарю за направление. будем копать
...
Рейтинг: 0 / 0
Нужна помощь по ws-security
    #37990361
Grrrizli
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело более менее начало двигаться с использованием WSE 3. Header у сообщения сформировал более менее похоже, но при попытке сформировать подпись сообщения (MessageSignature) наблюдаю ошибку

"WSE2382 key type is not valid"

Причем ругается на открытый ключ сертификата.

Единственное что дал поиск это
"openssl will by default generate DSA keys, not RSA. u need to
specifically make a certificate with RSA key to have it work in .NET"
Хотя я не использую SSL.

Возможно кто-то сталкивался с подобной проблемой, либо имеет глубокие познания в предметной области - посоветуйте, как дальше жить?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Нужна помощь по ws-security
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]