Дайте этим двум драгоценным камням шанс:
http://rubygems.org/gems/coupa-libxml-ruby
http://rubygems.org/gems/xmlsec-ruby
Я написал их для проекта SAML. Первый исправляет libxml-ruby, чтобы добавить привязку для функции канонизации в базовой библиотеке C.
Последний является привязкой ruby для xmlsec. Прямо сейчас все, что работает, - это проверка подписи, и это все, что мне было нужно для проекта, но, похоже, она тоже подойдет вам.
Я бы порекомендовал перейти на xmlsec, потому что попытка написать собственный код проверки подписи XML - бесполезное занятие. Просто подождите, пока вам не придется иметь дело с несколькими конвертами с подписью, встроенными сертификатами. Пусть xmlsec справится с этим дерьмом.