нужно сделать отправку электронных больничных в ФСС через SOAP, используя xml Подпись и шифрование.
мне удалость зделать ЭП используя openssl/xmlsec, но вот шифрование xmlsec по госту не делает
Подскажите, чем можно зашифровать XML файл алгоритмом ГОСТ 28147-89
по стандарту XML Encryption Syntax and Processing (W3C);
В сети очень много инструментов для шифрования, но ни все знают что такое русский ГОСТ
gSoap Точно ГОСТ не поддерживает
вот выписка из инструкции от ФСС
Code: Select all
в соответствии со спецификацией XML Encryption Syntax and Processing (W3C) внутри блока Body формируется следующая структура данных:
<xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
Type="http://www.w3.org/2001/04/xmlenc#Content" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
xmlns:sch="http://gost34.ibs.ru/WrapperService/Schema"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<xenc:EncryptionMethod
Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147" />
<ds:KeyInfo>
<xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<xenc:EncryptionMethod
Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001" />
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>…
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>..xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedKey>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>...xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>