public void DSASignatureDescription() { // internal class - we cannot create one without CryptoConfig SignatureDescription sd = (SignatureDescription)CryptoConfig.CreateFromName("http://www.w3.org/2000/09/xmldsig#dsa-sha1"); Assert.AreEqual("System.Security.Cryptography.SHA1CryptoServiceProvider", sd.DigestAlgorithm); Assert.AreEqual("System.Security.Cryptography.DSASignatureDeformatter", sd.DeformatterAlgorithm); Assert.AreEqual("System.Security.Cryptography.DSASignatureFormatter", sd.FormatterAlgorithm); Assert.AreEqual("System.Security.Cryptography.DSACryptoServiceProvider", sd.KeyAlgorithm); HashAlgorithm hash = sd.CreateDigest(); Assert.AreEqual("System.Security.Cryptography.SHA1CryptoServiceProvider", hash.ToString()); Assert.AreEqual(dsa.ToString(), sd.KeyAlgorithm); AsymmetricSignatureDeformatter asd = sd.CreateDeformatter(dsa); Assert.AreEqual("System.Security.Cryptography.DSASignatureDeformatter", asd.ToString()); AsymmetricSignatureFormatter asf = sd.CreateFormatter(dsa); Assert.AreEqual("System.Security.Cryptography.DSASignatureFormatter", asf.ToString()); }