| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			 
			
			Впервые работаю с шифрованием, прошу сильно не ругать.(AX2009, .NET 3.5) 
		
		
		
		
		
		
		
		
			В контейнере лежит сертификат CertificateEncryption, необходимо преобразовать его в формат ГОСТ 34.10(CryptoPro.Sharpei.Gost3410) используя публичный ключ. Буду рад любому совету. Код: byte[] encryptedKey = CPEncryptedXml.EncryptKey(sessionKey, (Gost3410)CertificateEncryption.PublicKey.Key); В C# это выглядит довольно просто: Код: // Создаем случайный симметричный ключ.
            // В целях безопасности удаляем ключ из памяти после использования.
            using (Gost28147CryptoServiceProvider sessionKey = new Gost28147CryptoServiceProvider())
            {
                // Создаем объект класса EncryptedXml
                EncryptedXml eXml = new EncryptedXml();
                // Зашифроваем узел на симметричном ключе.
                byte[] encryptedElement = eXml.EncryptData(elementToEncrypt, sessionKey, false);
                // Зашифровываем сессионный ключ и добавляем эти зашифрованные данные к узлу EncryptedKey.
                EncryptedKey ek = new EncryptedKey();
                byte[] encryptedKey = CPEncryptedXml.EncryptKey(sessionKey, (Gost3410)CertificateEncryption.PublicKey.Key);
                ek.CipherData = new CipherData(encryptedKey);
                ek.EncryptionMethod = new EncryptionMethod(CPEncryptedXml.XmlEncGostKeyTransportUrl);
                KeyInfoX509Data data = new KeyInfoX509Data(CertificateOpen);
                ek.KeyInfo.AddClause(data);
                // Добавляем ссылку на зашифрованный ключ к зашифрованным данным.
                edElement.KeyInfo.AddClause(new KeyInfoEncryptedKey(ek));
                // Добавляем зашифрованные данные к объекту EncryptedData.
                edElement.CipherData.CipherValue = encryptedElement;
            }Последний раз редактировалось jonny.do; 01.11.2018 в 14:48.  | 
| 
	
 | 
| Теги | 
| ax2009, c#, cryptography, gost3410, фсс, элн | 
| 
	
	 | 
	
		
  |