当前位置: 首页>>代码示例>>C#>>正文


C# DSACryptoServiceProvider.ToXmlString方法代码示例

本文整理汇总了C#中System.Security.Cryptography.DSACryptoServiceProvider.ToXmlString方法的典型用法代码示例。如果您正苦于以下问题:C# DSACryptoServiceProvider.ToXmlString方法的具体用法?C# DSACryptoServiceProvider.ToXmlString怎么用?C# DSACryptoServiceProvider.ToXmlString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Security.Cryptography.DSACryptoServiceProvider的用法示例。


在下文中一共展示了DSACryptoServiceProvider.ToXmlString方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: createKeyPair

		static Key createKeyPair()
		{
			// note: Clear() just calls Dispose() :)
			using (var dsa = new DSACryptoServiceProvider(DefaultKeySize.signed()))
			{
				return new Key(DefaultAlgorithm, DefaultKeySize, System.Text.Encoding.UTF8.GetBytes(dsa.ToXmlString(true)));
			}
		}
开发者ID:sharedsafe,项目名称:SharedSafe.Encoding,代码行数:8,代码来源:Signing.cs

示例2: GenerateKeys

        private static void GenerateKeys()
        {
            if (File.Exists(SignatureVerifier.DefaultDSAPrivKeyFileName) || File.Exists(SignatureVerifier.DefaultDSAPubKeyFileName))
            {
                ShowErrorMessage("\tError: Output files already exists!");
            }

            var prv = new DSACryptoServiceProvider();
            using (var sw = new StreamWriter(SignatureVerifier.DefaultDSAPrivKeyFileName))
            {
                sw.Write(prv.ToXmlString(true));
            }

            using (var sw = new StreamWriter(SignatureVerifier.DefaultDSAPubKeyFileName))
            {
                sw.Write(prv.ToXmlString(false));
            }

            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.WriteLine("\tFinished generating keys");
            Console.ResetColor();
        }
开发者ID:ashokgelal,项目名称:Magpie-SignatureGenerator,代码行数:22,代码来源:Program.cs

示例3: RealizarFirmaDigitalPorDSA

        /// <summary>
        /// Método realiza firma digital.
        /// </summary>
        /// <param name="pCadenaTexto">Cadena de texto.</param>
        /// <returns>
        /// Mensajes de impresión.
        /// </returns>
        public static string RealizarFirmaDigitalPorDSA(string pCadenaTexto)
        {
            // Declara mensajes de impresión.
            string vMsgImpresion = string.Empty;

            // Instancia servicio criptografico DSA.
            DSACryptoServiceProvider vServicioCriptorDSA = new DSACryptoServiceProvider();

            // Obtiene claves privadas y publicas.
            string vClaves = vServicioCriptorDSA.ToXmlString(true);

            // Genera clave hash.
            vClaveHash = GenerarClaveSHA1(pCadenaTexto);

            // Convierte a cadena array de clave SHA1.
            string vCadenaClaveSHA1 = Convert.ToBase64String(vClaveHash);

            vMsgImpresion += "FIRMA DIGITAL - Cadena de entrada (DSA): " + pCadenaTexto + " \n ";

            vMsgImpresion += "GERERAR CLAVE SHA1 - Cadena de clave hash (DSA): " + vCadenaClaveSHA1 + " \n ";

            // Crea firma digital para la clave hash.
            vFirmaDigital = CrearFirmaDigitalDSA(vClaveHash, vClaves);

            // Convierte a cadena array de firma digital.
            string vCadenaFirmaDigital = Convert.ToBase64String(vFirmaDigital);

            vMsgImpresion += "GERERAR FIRMA DIGITAL (DSA): Se cargaron clave privada y pública a servicio criptor DSA \n ";

            vMsgImpresion += "GERERAR FIRMA DIGITAL - Cadena firma digital (DSA): " + vCadenaFirmaDigital + " \n ";

            // Obtiene clave pública.
            vClavePublica = vServicioCriptorDSA.ToXmlString(false);

            // Retorna mensaje.
            return vMsgImpresion;
        }
开发者ID:jose-codecofe,项目名称:Encryption,代码行数:44,代码来源:ManejadorFirmaDigitalDSA.cs

示例4: PersistKey_FalseTrue

	public void PersistKey_FalseTrue () 
	{
		DSACryptoServiceProvider dsa = new DSACryptoServiceProvider (minKeySize);
		string key = dsa.ToXmlString (true);
		dsa.PersistKeyInCsp = false;
		dsa.PersistKeyInCsp = true;
		Assert.AreEqual (key, dsa.ToXmlString (true), "PersistKeyInCsp-FalseTrue");
	}
开发者ID:carrie901,项目名称:mono,代码行数:8,代码来源:DSACryptoServiceProviderTest.cs

示例5: Persistence_Delete

	public void Persistence_Delete () 
	{
		CspParameters csp = new CspParameters (3, null, "Persistence_Delete");
		// MS generates (or load) keypair here
		// Mono load (if it exists) the keypair here
		DSACryptoServiceProvider dsa1 = new DSACryptoServiceProvider (minKeySize, csp);
		// Mono will generate the keypair here (if it doesn't exists)
		string original = dsa1.ToXmlString (true);

		// note: Delete isn't well documented but can be done by 
		// flipping the PersistKeyInCsp to false and back to true.
		dsa1.PersistKeyInCsp = false;
		dsa1.Clear ();

		// recreate using the same container name
		DSACryptoServiceProvider dsa2 = new DSACryptoServiceProvider (minKeySize, csp);
		string newKeyPair = dsa2.ToXmlString (true);

		Assert.IsTrue (original != newKeyPair, "Key Pair Deleted");
	}
开发者ID:carrie901,项目名称:mono,代码行数:20,代码来源:DSACryptoServiceProviderTest.cs

示例6: Persistence_PersistKeyInCsp_True

	public void Persistence_PersistKeyInCsp_True () 
	{
		CspParameters csp = new CspParameters (3, null, "Persistence_PersistKeyInCsp_True");
		// MS generates (or load) keypair here
		// Mono load (if it exists) the keypair here
		DSACryptoServiceProvider dsa1 = new DSACryptoServiceProvider (minKeySize, csp);
		// Mono will generate the keypair here (if it doesn't exists)
		string first = dsa1.ToXmlString (true);

		// persistance is "on" by default
		Assert.IsTrue (dsa1.PersistKeyInCsp, "PersistKeyInCsp");

		// reload using the same container name
		DSACryptoServiceProvider dsa2 = new DSACryptoServiceProvider (minKeySize, csp);
		string second = dsa2.ToXmlString (true);

		Assert.AreEqual (first, second, "Key Pair Same Container");
	}
开发者ID:carrie901,项目名称:mono,代码行数:18,代码来源:DSACryptoServiceProviderTest.cs

示例7: MonoXmlImportExport

	public void MonoXmlImportExport () 
	{
		DSACryptoServiceProvider dsa = new DSACryptoServiceProvider ();

		dsa.FromXmlString (MonoXml512);
		Assert.AreEqual (MonoXml512, dsa.ToXmlString (true), "Mono-Xml512");

		dsa.FromXmlString (MonoXml576);
		Assert.AreEqual (MonoXml576, dsa.ToXmlString (true), "Mono-Xml576");

		dsa.FromXmlString (MonoXml640);
		Assert.AreEqual (MonoXml640, dsa.ToXmlString (true), "Mono-Xml640");

		dsa.FromXmlString (MonoXml704);
		Assert.AreEqual (MonoXml704, dsa.ToXmlString (true), "Mono-Xml704");

		dsa.FromXmlString (MonoXml768);
		Assert.AreEqual (MonoXml768, dsa.ToXmlString (true), "Mono-Xml768");

		dsa.FromXmlString (MonoXml832);
		Assert.AreEqual (MonoXml832, dsa.ToXmlString (true), "Mono-Xml832");

		dsa.FromXmlString (MonoXml896);
		Assert.AreEqual (MonoXml896, dsa.ToXmlString (true), "Mono-Xml896");

		dsa.FromXmlString (MonoXml960);
		Assert.AreEqual (MonoXml960, dsa.ToXmlString (true), "Mono-Xml960");

		dsa.FromXmlString (MonoXml1024);
		Assert.AreEqual (MonoXml1024, dsa.ToXmlString (true), "Mono-Xml1024");
	}
开发者ID:carrie901,项目名称:mono,代码行数:31,代码来源:DSACryptoServiceProviderTest.cs

示例8: TooBigKeyPair

	public void TooBigKeyPair () 
	{
		dsa = new DSACryptoServiceProvider (2048);

		// in 2.0 MS delay the creation of the key pair until it is required
		// (same trick that Mono almost always used ;-) but they also delay
		// the parameter validation (what Mono didn't). So here we must "get"
		// the key (export) to trigger the exception
		dsa.ToXmlString (true);
	}
开发者ID:carrie901,项目名称:mono,代码行数:10,代码来源:DSACryptoServiceProviderTest.cs

示例9: CreateKey

		public static int FileReadStep = 4194304;	// 4M

		#region CreateKey
		/// <summary>
		/// 创建密钥对(XmlString),使用者应将结果保存到文件存档
		/// </summary>
		/// <param name="ContainsPKey">是否包含私钥</param>
		/// <returns></returns>
		public static string CreateKey(bool ContainsPKey)
		{
			DSACryptoServiceProvider dsa = new DSACryptoServiceProvider();
			return dsa.ToXmlString(ContainsPKey);
		}
开发者ID:lujinlong,项目名称:Apq,代码行数:13,代码来源:DSAHelper.cs

示例10: GeneratePrivateKey

 public static String GeneratePrivateKey()
 {
     DSACryptoServiceProvider dsa = new DSACryptoServiceProvider();
     return dsa.ToXmlString(true);
 }
开发者ID:linyunfeng,项目名称:mtapi,代码行数:5,代码来源:DigitalSignatureHelper.cs

示例11: button8_Click

        //Формируем цифровую подпись
        private void button8_Click(object sender, EventArgs e)
        {
            // создаем объект выбранного заказа
            // как и в примере из предыдущего раздела
	        // В результате имеем заполненный объект класса Заказ с именем с
            // определяем, какой заказ следует сериализовать
            // код создания объекта (Zakaz c) аналогичен предыдущему примеру

            // определяем, какой заказ выбран для генерации документа
            if (dataGridView1.SelectedRows.Count == 0)
                return;
            //получение номера текущего выбранного заказа
            nom = (int)dataGridView1.SelectedRows[0].Cells["НомерЗаказа"].Value;
            //получение даты текущего выбранного заказа
            date = (DateTime)dataGridView1.SelectedRows[0].Cells["ДатаЗаказа"].Value;
            // поиск заказа по ключу
            DataRow dr = ds.Tables["Заказы"].Rows.Find(new object[] { (object)nom, (object)date });
            // создаем объект заказа для последующей сериализации
            Zakaz c = new Zakaz((int)dr["IDЗаказчика"], (int)dr["IDИсполнителя"], (int)dr["НомерЗаказа"], (DateTime)dr["ДатаЗаказа"], (string)dr["Предмет/Тема"], (int)dr["Стоимость"]);
            
            // хэшировать будем по двоичному коду объекта класса Zakaz  
            // проводим бинарную сериализацию объекта c
            // создаем объект-форматер
            BinaryFormatter ser = new BinaryFormatter();
            // создаем поток для сериализации объекта в оперативной памяти
            MemoryStream ms = new MemoryStream();
            // проводим сериализацию в память     
            ser.Serialize(ms, c);
            // получаем массив байт, определяющий объект заказа, 
            // считывая из потока в памяти
            byte[] message = new byte[ms.Length];
            ms.Read(message, 0, (int)ms.Length);

            // хэшируем заказ
            // создаем провайдер для хэширования
            SHA1 sha1 = new SHA1CryptoServiceProvider();
            // проводим хэширование
            byte[] hashMessage = sha1.ComputeHash(message);

            // получаем цифровую подпись с помощью алгоритма DSA
             DSACryptoServiceProvider dsa = new DSACryptoServiceProvider();
            // цифровая подпись – это также набор байт. 
            // Второй параметр метода – своеобразный ключ
            byte[] signature = dsa.SignHash(hashMessage, "1.3.14.3.2.26");

            // сохраняем параметры ключа в виде структурированной строки
            string key = dsa.ToXmlString(true);
            
            // сохраним подпись данного документа в бинарном файле, 
            // имя которого зависит от номера Заказа
            BinaryWriter br = new BinaryWriter(new FileStream("Zakaz"+c.НомерЗаказа+".dat", FileMode.Create));
            // сохраняем ключ в созданный файл
            br.Write(key);
            // сохраняем в файл цифровую подпись
            // сначала количество байт
            br.Write(signature.Length);
            // затем саму подпись
            br.Write(signature);
            // закрываем файл с подписью
            br.Close();
            MessageBox.Show("Создана цифровая подпись!");
        }
开发者ID:GarageInc,项目名称:all,代码行数:63,代码来源:Form1.cs

示例12: PersistKey_False

	public void PersistKey_False () 
	{
		DSACryptoServiceProvider dsa = new DSACryptoServiceProvider (minKeySize);
		string key = dsa.ToXmlString (true);
		dsa.PersistKeyInCsp = false;
		AssertEquals ("PersistKeyInCsp-False", key, dsa.ToXmlString (true));
	}
开发者ID:calumjiao,项目名称:Mono-Class-Libraries,代码行数:7,代码来源:DSACryptoServiceProviderTest.cs

示例13: Persistence_PersistKeyInCsp_False

	public void Persistence_PersistKeyInCsp_False () 
	{
		CspParameters csp = new CspParameters (3, null, "Persistence_PersistKeyInCsp_False");
		// MS generates (or load) keypair here
		// Mono load (if it exists) the keypair here
		DSACryptoServiceProvider dsa1 = new DSACryptoServiceProvider (minKeySize, csp);
		// Mono will generate the keypair here (if it doesn't exists)
		string first = dsa1.ToXmlString (true);

		// persistance is "on" by default when a CspParameters is supplied
		Assert ("PersistKeyInCsp", dsa1.PersistKeyInCsp);

		// this means nothing if we don't call Clear !!!
		dsa1.PersistKeyInCsp = false;
		Assert ("PersistKeyInCsp", !dsa1.PersistKeyInCsp);

		// reload using the same container name
		DSACryptoServiceProvider dsa2 = new DSACryptoServiceProvider (minKeySize, csp);
		string second = dsa2.ToXmlString (true);

		AssertEquals ("Key Pair Same Container", first, second);
	}
开发者ID:calumjiao,项目名称:Mono-Class-Libraries,代码行数:22,代码来源:DSACryptoServiceProviderTest.cs

示例14: CapiXmlImportExport

	public void CapiXmlImportExport () 
	{
		DSACryptoServiceProvider dsa = new DSACryptoServiceProvider ();

		dsa.FromXmlString (CapiXml512);
		AssertEquals ("Capi-Xml512", CapiXml512, dsa.ToXmlString (true));

		dsa.FromXmlString (CapiXml576);
		AssertEquals ("Capi-Xml576", CapiXml576, dsa.ToXmlString (true));

		dsa.FromXmlString (CapiXml640);
		AssertEquals ("Capi-Xml640", CapiXml640, dsa.ToXmlString (true));

		dsa.FromXmlString (CapiXml704);
		AssertEquals ("Capi-Xml704", CapiXml704, dsa.ToXmlString (true));

		dsa.FromXmlString (CapiXml768);
		AssertEquals ("Capi-Xml768", CapiXml768, dsa.ToXmlString (true));

		dsa.FromXmlString (CapiXml832);
		AssertEquals ("Capi-Xml832", CapiXml832, dsa.ToXmlString (true));

		dsa.FromXmlString (CapiXml896);
		AssertEquals ("Capi-Xml896", CapiXml896, dsa.ToXmlString (true));

		dsa.FromXmlString (CapiXml960);
		AssertEquals ("Capi-Xml960", CapiXml960, dsa.ToXmlString (true));

		dsa.FromXmlString (CapiXml1024);
		AssertEquals ("Capi-Xml1024", CapiXml1024, dsa.ToXmlString (true));
	}
开发者ID:calumjiao,项目名称:Mono-Class-Libraries,代码行数:31,代码来源:DSACryptoServiceProviderTest.cs

示例15: UseMachineKeyStore

	public void UseMachineKeyStore () 
	{
		// note only applicable when CspParameters isn't used - which don't
		// help much as you can't know the generated key container name
		try {
			DSACryptoServiceProvider.UseMachineKeyStore = true;
			CspParameters csp = new CspParameters (13, null, "UseMachineKeyStore");
			csp.KeyContainerName = "UseMachineKeyStore";
			DSACryptoServiceProvider dsa = new DSACryptoServiceProvider (csp);
			string machineKeyPair = dsa.ToXmlString (true);
			dsa.Clear ();

			DSACryptoServiceProvider.UseMachineKeyStore = false;
			csp = new CspParameters (13, null, "UseMachineKeyStore");
			csp.Flags |= CspProviderFlags.UseMachineKeyStore;
			dsa = new DSACryptoServiceProvider (csp);

			Assert.IsTrue (machineKeyPair != dsa.ToXmlString (true), "UseMachineKeyStore");
		}
		catch (CryptographicException ce) {
			// only root can create the required directory (if inexistant)
			// afterward anyone can use (read from) it
			if (!(ce.InnerException is UnauthorizedAccessException))
				throw;
		}
		catch (UnauthorizedAccessException) {
		}
	}
开发者ID:carrie901,项目名称:mono,代码行数:28,代码来源:DSACryptoServiceProviderTest.cs


注:本文中的System.Security.Cryptography.DSACryptoServiceProvider.ToXmlString方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。