Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > xmldsig


Автор: Хал 1.10.2008, 10:23
Помогите разобраться, пожалуйста!
Нужно подписывать 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="http://www.w3.org/2001/04/xmldsig-more#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>yGX+A3mp/reigEPpvDsuyCgxFRo8soS+QeeGJic6tng=</DigestValue> 
  </Reference>
  </SignedInfo>
  <SignatureValue>qQiqVgw8qA3JMKugL6qS79MrTHzlpTTL5ia/oPeJj8PPM1prAXz4D6d7dwqLkVc9jFIiG6zDI3fSlI8f/NQFjw==</SignatureValue> 
- <KeyInfo>
- <X509Data>
  <X509Certificate>MIIDWzCCAwqgAwIBAgIKbT7/ogABAAAANTAIBgYqhQMCAgMwOjESMBAGCgmSJomT8ixkARkWAnJ1MRMwEQYKCZImiZPyLGQBGRYDZWlwMQ8wDQYDVQQDEwZyb290Y2EwHhcNMDgwNzA5MTIwMzAwWhcNMDkwNzA5MTIxMjAwWjAwMQswCQYDVQQGEwJSVTEPMA0GA1UEChMGSVBJUkFOMRAwDgYDVQQDEwdFaXBVc2VyMGMwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwICHgEDQwAEQJhlmTT/OgBe31an/SVFODO6tRwX6d4sLoibenykt0nbyZ1Ni4dTYbRZblt3651ECLslPL4VvPcyFdw+CHN/bSejggH4MIIB9DAOBgNVHQ8BAf8EBAMCBPAwHAYDVR0lBBUwEwYIKwYBBQUHAwIGByqFAwICIgcwHQYDVR0OBBYEFPpg8x793lR0pWk9pV3a/aZtfq1vMB8GA1UdIwQYMBaAFDNYjwh/7HNmUpsrk+mM++B5fFehMIG1BgNVHR8Ega0wgaowgaeggaSggaGGcWxkYXA6Ly8vQ049cm9vdGNhKDEpLENOPVVTU0EsQ049Q0RQLENOPVB1YmxpYyBLZXkgU2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1laXAsREM9cnV1c3NhZC5laXAucnUwhixodHRwOi8vdXNzYWQuZWlwLnJ1L0NlcnRFbnJvbGwvcm9vdGNhKDEpLmNybDCBywYIKwYBBQUHAQEEgb4wgbswcgYIKwYBBQUHMAKGZmxkYXA6Ly8vQ049cm9vdGNhLENOPUFJQSxDTj1QdWJsaWMgS2V5IFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZpZ3VyYXRpb24sREM9ZWlwLERDPXJ1dXNzYWQuZWlwLnJ1MTBFBggrBgEFBQcwAoY5aHR0cDovL3Vzc2FkLmVpcC5ydS9DZXJ0RW5yb2xsL3Vzc2FkLmVpcC5ydV9yb290Y2EoMSkuY3J0MAgGBiqFAwICAwNBAHFL7Hc9oC2xpiIonvx88naO/zoH4MyH5CPtJhBhkL5QaTARfXZo1Jf/pR0ehpyMYTY6w0Rwen0Q2ocNTSwgvvY=</X509Certificate> 
  </X509Data>
  </KeyInfo>
  </Signature>

Вопрос: как это можно реализовать в C++ Builder? Сделать это нужно быстро, а в криптографии этой я не очень-то((
Вот нашел в MSDN       SignedXml::ComputeSignature Method  и т.п.
Это то или нет? Если  да, то как его подключить правильно к Билдеру? 

это из примера msdn на VC++. Как это же в Борланде подключить? А то я что-то туго соображаю уже

#using <System.Security.dll>
#using <System.Xml.dll>
using namespace System;
using namespace System::Security::Cryptography;
using namespace System::Security::Cryptography::Xml;
using namespace System::Text;
using namespace System::Xml;

Добавлено через 10 минут и 30 секунд
Блин, случайно создал дубликат smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)