| ||||
| ||||
Подскажите пожалуста новичку. Я работаю с php, javascript. Мне нужно подписать xml документ. что я должна внедрить в код чтобы поставить ЭЦП на документ. И если можно какие-нибудь ссылки на данную проблему. Заранее спасибо | ||||
Ответы: | ||||
| ||||
Есть интересно ли пример подписи и отправки XML документа на JavaScript у вас ? | ||||
| ||||
Из Javascript Вы можете использовать COM-объект MSXML5 совместно с "КриптоПро CSP 3.0" Переслано: --------------------- Здравствуйте! На данный момент есть примеры реализации подписи и её проверки только на С++. В прилагаемом chm-файле - можно найти примеры реализации подписи XML документа, в том числе и на JScript (XML Digital Signature/XML Digital Signature Reference/XML Digital Signature Methods/sign(verify) Method). Главное, это правильно оформить сам XML документ, который вы подаёте на вход для подписи (шаблоны также находятся в прилагаемом файле). Ниже привожу шаблоны (входной XML документ) для подписи, использующей наши стандарты. Для проверки подписи на вход подаётся полученный в результате подписи XML файл. <?xml version="1.0" encoding="UTF-8"?> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:SignedInfo> <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/> <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411"/> <ds:Reference URI="#obj" Type="http://www.w3.org/2000/09/xmldsig#;Object"> <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/> <ds:DigestValue/> </ds:Reference> </ds:SignedInfo> <ds:SignatureValue /> <ds:Object Id="obj" MimeType="text/plain">Hello, World!</ds:Object> <ds:KeyInfo></ds:KeyInfo> </ds:Signature> В зависимости от решаемых задач, этот файл нужно менять. Например, когда есть необходимость поставить 2 подписи. Рекомендую также изучить XML-Signature Syntax and Processing, ссылку на который можно также найти в прилагаемом chm, набрав в закладке "Search" W3C recommendation. Если появятся вопросы, обращайтесь. С уважением, Калугина Ирина | ||||
| ||||
кстати про подпись XML парсером 5 версии вот этот код постоянно вылетает с ошибкой Access is denied. Не подскажете как вылечить ? спасибо if (!xmldsig.signature) { alert("Invalid signature template\n"); return false; } var _key = cert.PrivateKey.ContainerName; document.all.a.value = _key; var oKey = xmldsig.createKeyFromCSP(1, "", _key, 0); try { var a = xmldsig.sign(oKey, 1); } catch (e) { alert(e.description); } | ||||
| ||||
вылетает соотвественно на этапе .Sign(oKey, 1) | ||||