Статус: Новичок
Группы: Участники
Зарегистрирован: 20.10.2011(UTC) Сообщений: 4 Откуда: Москва
|
Используем КриптоПро 3.6 и последнюю версию Sharpei. На другой стороне стоит версия криптоПро 3.0 Подписываем xml, на выходе имеем подпись: Код:- <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
- <SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411" />
- <Reference URI="">
- <Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411" />
<DigestValue>D+7qSgXk2q3/HD+Bc3GUXzXAK3ZHBANW4Y/Q4xaQEVQ=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue> подпись =</SignatureValue>
- <KeyInfo>
- <X509Data>
<X509>сертификат</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</Message>
с другой стороны, тот кто получает запрос. утверждает что запрос имеет не верную структуру xml и предлагает мне прислать подпись в таком виде: Код:
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:CanonicalizationMethod xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<ds:SignatureMethod xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411" />
<ds:Reference xmlns:ds="http://www.w3.org/2000/09/xmldsig#" URI="">
<ds:Transforms xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:Transform xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<ds:Transform xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments" />
</ds:Transforms>
<ds:DigestMethod xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411" />
<ds:DigestValue xmlns:ds="http://www.w3.org/2000/09/xmldsig#">8X2MUhIVzq1DM3uoUq9E0ibtmr9VpbRAmrCEsW7P7Cc=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue xmlns:ds="http://www.w3.org/2000/09/xmldsig#">подпись</ds:SignatureValue>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<X509Data xmlns="http://www.w3.org/2000/09/xmldsig#">
<X509Certificate>сертификат</X509Certificate>" +
</X509Data>
</ds:KeyInfo>
</ds:Signature>
</Message>
визуально отличие только в префиксе ds и в названии алгоритма подписи. Подпись формируется стандартным методом, так же как в примере: Код:SignedXml signedXml = new SignedXml(doc);
signedXml.SigningKey = cert.PrivateKey;
Reference reference = new Reference();
reference.Uri = "";
reference.DigestMethod = "http://www.w3.org/2001/04/xmldsig-more#gostr3411";
XmlDsigEnvelopedSignatureTransform env = new XmlDsigEnvelopedSignatureTransform();
reference.AddTransform(env);
XmlDsigC14NTransform c14 = new XmlDsigC14NTransform();
reference.AddTransform(c14);
signedXml.AddReference(reference);
KeyInfo keyInfo = new KeyInfo();
keyInfo.AddClause(new KeyInfoX509Data(cert));
signedXml.KeyInfo = keyInfo;
signedXml.ComputeSignature();
Это проблема совместимости? И как мне заставить шарпей формировать подпись с префиксами и нужным алгоритмом?
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
Попробуйте добавить в код создания подписи: Код:signedXml.SignedInfo.SignatureMethod = CryptoPro.Sharpei.Xml.CPSignedXml.XmlDsigGost3410UrlObsolete;
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 20.10.2011(UTC) Сообщений: 4 Откуда: Москва
|
Смирнов написал:Попробуйте добавить в код создания подписи: Код:signedXml.SignedInfo.SignatureMethod = CryptoPro.Sharpei.Xml.CPSignedXml.XmlDsigGost3410UrlObsolete;
спасибо. алгоритм теперь вроде совпадает. а как быть с префиксами???
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
lnkz написал:а как быть с префиксами??? По идее не в префиксах счастье. Может уже такая подпись проверится? |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close