savonrb/akami — pull request #13 by Envek (2014-06-18 09:14:50+00:00)
Title: Support for multiple digest algorithms in signature verification

Previous pull requests were just a preparation for this :smile:

SOAP messages may be signed with variety of signature and digest algorithms, and while signature algorithm is hardcoded in keypair, digest algorithms for both digital signature creation/verification and XML nodes digest calculation can be changed at will (and independently). Information about used algorithms is stored in signed XML itself.

To support this we will:

1. Detect used digest algorithms for node digesting and signature verification
2. Add support for SHA256 and GOST R 34.11-94 algorithms out of the box.
3. Add possibility to add custom digest algorithms on the fly.
4. Test for SHA256 signature and node digests.
5. Test for GOST R 34.11-94 node digests (It's hard to test GOST signing as it requires patched Ruby, see: https://bugs.ruby-lang.org/issues/9830 )