using System;
using System.Security.Cryptography.X509Certificates;
using System.Xml;
using System.Security.Cryptography.Xml;
using System.Text;
using System.Xml.Serialization;
using System.Security.Cryptography;
Ну это получается совсем с нуля, мне хотя бы помогла библиотека OpenSaml 2.0, которая на себя берет работу с тонкостями самого SAML, чтобы не работать самому с чистым XML
Реализация SSO через SAML с примером