Class CpEncryptedXml
Inherited Members
Namespace: CryptoPro.Security.Cryptography.Xml
Assembly: CryptoPro.Security.Cryptography.Xml.dll
Syntax
public class CpEncryptedXml
Constructors
CpEncryptedXml()
Declaration
public CpEncryptedXml()
CpEncryptedXml(XmlDocument)
Declaration
public CpEncryptedXml(XmlDocument document)
Parameters
Type | Name | Description |
---|---|---|
XmlDocument | document |
CpEncryptedXml(XmlDocument, Evidence?)
Declaration
public CpEncryptedXml(XmlDocument document, Evidence? evidence)
Parameters
Type | Name | Description |
---|---|---|
XmlDocument | document | |
Evidence | evidence |
Fields
XmlEncElementContentUrl
Declaration
public const string XmlEncElementContentUrl = "http://www.w3.org/2001/04/xmlenc#Content"
Field Value
Type | Description |
---|---|
string |
XmlEncElementUrl
Declaration
public const string XmlEncElementUrl = "http://www.w3.org/2001/04/xmlenc#Element"
Field Value
Type | Description |
---|---|
string |
XmlEncEncryptedKeyUrl
Declaration
public const string XmlEncEncryptedKeyUrl = "http://www.w3.org/2001/04/xmlenc#EncryptedKey"
Field Value
Type | Description |
---|---|
string |
XmlEncGost2012_256KeyTransportUrl
Declaration
public const string XmlEncGost2012_256KeyTransportUrl = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2012-256"
Field Value
Type | Description |
---|---|
string |
XmlEncGost2012_512KeyTransportUrl
Declaration
public const string XmlEncGost2012_512KeyTransportUrl = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2012-512"
Field Value
Type | Description |
---|---|
string |
XmlEncGost28147KeyWrapUrl
Declaration
public const string XmlEncGost28147KeyWrapUrl = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:kw-gost"
Field Value
Type | Description |
---|---|
string |
XmlEncGost28147Url
Declaration
public const string XmlEncGost28147Url = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gost28147"
Field Value
Type | Description |
---|---|
string |
XmlEncGostCryptoPro12KeyWrapUrl
Declaration
public const string XmlEncGostCryptoPro12KeyWrapUrl = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:kw-cp12"
Field Value
Type | Description |
---|---|
string |
XmlEncGostCryptoProKeyWrapUrl
Declaration
public const string XmlEncGostCryptoProKeyWrapUrl = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:kw-gost"
Field Value
Type | Description |
---|---|
string |
XmlEncGostKeyTransportUrl
Declaration
public const string XmlEncGostKeyTransportUrl = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:transport-gost2001"
Field Value
Type | Description |
---|---|
string |
XmlEncNamespaceUrl
Declaration
public const string XmlEncNamespaceUrl = "http://www.w3.org/2001/04/xmlenc#"
Field Value
Type | Description |
---|---|
string |
Properties
DocumentEvidence
Declaration
public Evidence? DocumentEvidence { get; set; }
Property Value
Type | Description |
---|---|
Evidence |
Encoding
Declaration
public Encoding Encoding { get; set; }
Property Value
Type | Description |
---|---|
Encoding |
Mode
Declaration
public CipherMode Mode { get; set; }
Property Value
Type | Description |
---|---|
CipherMode |
Padding
Declaration
public PaddingMode Padding { get; set; }
Property Value
Type | Description |
---|---|
PaddingMode |
Recipient
Declaration
public string Recipient { get; set; }
Property Value
Type | Description |
---|---|
string |
Resolver
Declaration
public XmlResolver? Resolver { get; set; }
Property Value
Type | Description |
---|---|
XmlResolver |
XmlDSigSearchDepth
Gets / Sets the max limit for recursive search of encryption key in signed XML
Declaration
public int XmlDSigSearchDepth { get; set; }
Property Value
Type | Description |
---|---|
int |
Methods
AddKeyNameMapping(string, object)
Declaration
public void AddKeyNameMapping(string keyName, object keyObject)
Parameters
Type | Name | Description |
---|---|---|
string | keyName | |
object | keyObject |
ClearKeyNameMappings()
Declaration
public void ClearKeyNameMappings()
DecryptData(CpEncryptedData, SymmetricAlgorithm)
Declaration
public byte[] DecryptData(CpEncryptedData encryptedData, SymmetricAlgorithm symmetricAlgorithm)
Parameters
Type | Name | Description |
---|---|---|
CpEncryptedData | encryptedData | |
SymmetricAlgorithm | symmetricAlgorithm |
Returns
Type | Description |
---|---|
byte[] |
DecryptDocument()
Declaration
public void DecryptDocument()
DecryptEncryptedKey(CpEncryptedKey)
Declaration
public virtual byte[] DecryptEncryptedKey(CpEncryptedKey encryptedKey)
Parameters
Type | Name | Description |
---|---|---|
CpEncryptedKey | encryptedKey |
Returns
Type | Description |
---|---|
byte[] |
DecryptKey(byte[], CpRSA, bool)
Declaration
public static byte[] DecryptKey(byte[] keyData, CpRSA rsa, bool useOAEP)
Parameters
Type | Name | Description |
---|---|---|
byte[] | keyData | |
CpRSA | rsa | |
bool | useOAEP |
Returns
Type | Description |
---|---|
byte[] |
DecryptKey(byte[], CpRSA, bool, string)
Расшифровывание элемента <EncryptedKey> с использованием алгоритма асимметричного шифрования и импорт его в класс симметричного алгоритма.
Declaration
public static SymmetricAlgorithm DecryptKey(byte[] keyData, CpRSA rsa, bool useOAEP, string symmetricAlgorithmUri)
Parameters
Type | Name | Description |
---|---|---|
byte[] | keyData | Массив байтов, представляющий зашифрованный элемент <EncryptedKey>. |
CpRSA | rsa | Асимметричный ключ, который используется для
расшифрования |
bool | useOAEP | Значение, которое указывает, используется ли заполнение Optimal Asymmetric Encryption Padding (OAEP). |
string | symmetricAlgorithmUri | URI алгоритма создаваемого ключа. |
Returns
Type | Description |
---|---|
SymmetricAlgorithm | Ключ в виде класса симметричного алгоритма. |
Remarks
Функция выполняет пробразование в массив байтов, а затем импорт в класс; поэтому не применима для алгоритмов не допускающих импорт симметричных ключей в чистом виде.
Классы шифрования XML платформы .NET Framework реализуют спецификации шифрования XML, определенные консорциумом W3C: XML Encryption Syntax and Processing. Дополненения к спецификации для российских стандартов описано в Using GOST Algorithms for XML Security.
DecryptKey(byte[], Gost3410, string)
Расшифровывание элемента <EncryptedKey> с использованием алгоритма асимметричного шифрования и импорт его в класс симметричного алгоритма.
Declaration
public static SymmetricAlgorithm DecryptKey(byte[] keyData, Gost3410 gost, string symmetricAlgorithmUri)
Parameters
Type | Name | Description |
---|---|---|
byte[] | keyData | Байтовый массив с зашифрованным элементом <EncryptedKey> |
Gost3410 | gost | Асимметричный ключ, используемый для расшифровки ключевай информации. |
string | symmetricAlgorithmUri | URI алгоритм экспорта. |
Returns
Type | Description |
---|---|
SymmetricAlgorithm | SymmetricAlgorithm, содержащий импортированный ключ. |
Remarks
Данный метод производит расшифрование средствами импорта криптопровайдера и не требует прав по экспорту/импорту в байтовый массив.
Классы шифрования XML платформы .NET Framework реализуют спецификации шифрования XML, определенные консорциумом W3C: XML Encryption Syntax and Processing. Дополненения к спецификации для российских стандартов описано в Using GOST Algorithms for XML Security.
DecryptKey(byte[], Gost3410_2012_256, string)
Расшифровывание элемента <EncryptedKey> с использованием алгоритма асимметричного шифрования и импорт его в класс симметричного алгоритма.
Declaration
public static SymmetricAlgorithm DecryptKey(byte[] keyData, Gost3410_2012_256 gost, string symmetricAlgorithmUri)
Parameters
Type | Name | Description |
---|---|---|
byte[] | keyData | Байтовый массив с зашифрованным элементом <EncryptedKey> |
Gost3410_2012_256 | gost | Асимметричный ключ, используемый для расшифровки ключевай информации. |
string | symmetricAlgorithmUri | URI алгоритм экспорта. |
Returns
Type | Description |
---|---|
SymmetricAlgorithm | SymmetricAlgorithm, содержащий импортированный ключ. |
Remarks
Данный метод производит расшифрование средствами импорта криптопровайдера и не требует прав по экспорту/импорту в байтовый массив.
Классы шифрования XML платформы .NET Framework реализуют спецификации шифрования XML, определенные консорциумом W3C: XML Encryption Syntax and Processing. Дополненения к спецификации для российских стандартов описано в Using GOST Algorithms for XML Security.
DecryptKey(byte[], Gost3410_2012_512, string)
Расшифровывание элемента <EncryptedKey> с использованием алгоритма асимметричного шифрования и импорт его в класс симметричного алгоритма.
Declaration
public static SymmetricAlgorithm DecryptKey(byte[] keyData, Gost3410_2012_512 gost, string symmetricAlgorithmUri)
Parameters
Type | Name | Description |
---|---|---|
byte[] | keyData | Байтовый массив с зашифрованным элементом <EncryptedKey> |
Gost3410_2012_512 | gost | Асимметричный ключ, используемый для расшифровки ключевай информации. |
string | symmetricAlgorithmUri | URI алгоритм экспорта. |
Returns
Type | Description |
---|---|
SymmetricAlgorithm | SymmetricAlgorithm, содержащий импортированный ключ. |
Remarks
Данный метод производит расшифрование средствами импорта криптопровайдера и не требует прав по экспорту/импорту в байтовый массив.
Классы шифрования XML платформы .NET Framework реализуют спецификации шифрования XML, определенные консорциумом W3C: XML Encryption Syntax and Processing. Дополненения к спецификации для российских стандартов описано в Using GOST Algorithms for XML Security.
DecryptKey(byte[], SymmetricAlgorithm)
Declaration
public static byte[] DecryptKey(byte[] keyData, SymmetricAlgorithm symmetricAlgorithm)
Parameters
Type | Name | Description |
---|---|---|
byte[] | keyData | |
SymmetricAlgorithm | symmetricAlgorithm |
Returns
Type | Description |
---|---|
byte[] |
DecryptKey(byte[], SymmetricAlgorithm, string, string)
Расшифровывание элемент <EncryptedKey> с использованием алгоритма симметричного шифрования и импорт его в класс симметричного алгоритма.
Declaration
public static SymmetricAlgorithm DecryptKey(byte[] keyData, SymmetricAlgorithm symmetricAlgorithm, string symmetricAlgorithmUri, string encryptionKeyAlgorithm)
Parameters
Type | Name | Description |
---|---|---|
byte[] | keyData | Зашифрованный ключ. |
SymmetricAlgorithm | symmetricAlgorithm | Ключ расшифрования. |
string | symmetricAlgorithmUri | URI алгоритма получаемого ключа. |
string | encryptionKeyAlgorithm | URI алгоритма расшифрования ключа. |
Returns
Type | Description |
---|---|
SymmetricAlgorithm | Ключ в виде класса симметричного алгоритма. |
Remarks
Функция выполняет пробразование в массив байтов, а затем импорт в класс; поэтому не применима для алгоритмов не допускающих импорт симметричных ключей в чистом виде.
Классы шифрования XML платформы .NET Framework реализуют спецификации шифрования XML, определенные консорциумом W3C: XML Encryption Syntax and Processing. Дополненения к спецификации для российских стандартов описано в Using GOST Algorithms for XML Security.
Encrypt(XmlElement, CpX509Certificate2)
Declaration
public CpEncryptedData Encrypt(XmlElement inputElement, CpX509Certificate2 certificate)
Parameters
Type | Name | Description |
---|---|---|
XmlElement | inputElement | |
CpX509Certificate2 | certificate |
Returns
Type | Description |
---|---|
CpEncryptedData |
Encrypt(XmlElement, string)
Declaration
public CpEncryptedData Encrypt(XmlElement inputElement, string keyName)
Parameters
Type | Name | Description |
---|---|---|
XmlElement | inputElement | |
string | keyName |
Returns
Type | Description |
---|---|
CpEncryptedData |
EncryptData(byte[], SymmetricAlgorithm)
Declaration
public byte[] EncryptData(byte[] plaintext, SymmetricAlgorithm symmetricAlgorithm)
Parameters
Type | Name | Description |
---|---|---|
byte[] | plaintext | |
SymmetricAlgorithm | symmetricAlgorithm |
Returns
Type | Description |
---|---|
byte[] |
EncryptData(XmlElement, SymmetricAlgorithm, bool)
Declaration
public byte[] EncryptData(XmlElement inputElement, SymmetricAlgorithm symmetricAlgorithm, bool content)
Parameters
Type | Name | Description |
---|---|---|
XmlElement | inputElement | |
SymmetricAlgorithm | symmetricAlgorithm | |
bool | content |
Returns
Type | Description |
---|---|
byte[] |
EncryptKey(Gost28147, Gost3410)
Экспорт симметричного ключа Gost28147 на пользовательском ключе.
Declaration
public static byte[] EncryptKey(Gost28147 simm, Gost3410 gost)
Parameters
Type | Name | Description |
---|---|---|
Gost28147 | simm | Симметричный экспортируемый ключ. |
Gost3410 | gost | Пользовательский ключ экспорта. |
Returns
Type | Description |
---|---|
byte[] | Байтовый массив, содержащий зашифрованный ключ. |
Remarks
Данную операцию иногда называют зашифрованием симметричного ключа алгоритма на асимметричном.
Классы шифрования XML платформы .NET Framework реализуют спецификации шифрования XML, определенные консорциумом W3C: XML Encryption Syntax and Processing. Дополненения к спецификации для российских стандартов описано в Using GOST Algorithms for XML Security.
EncryptKey(Gost28147, Gost3410_2012_256)
Экспорт симметричного ключа Gost28147 на пользовательском ключе.
Declaration
public static byte[] EncryptKey(Gost28147 simm, Gost3410_2012_256 gost)
Parameters
Type | Name | Description |
---|---|---|
Gost28147 | simm | Симметричный экспортируемый ключ. |
Gost3410_2012_256 | gost | Пользовательский ключ экспорта. |
Returns
Type | Description |
---|---|
byte[] | Байтовый массив, содержащий зашифрованный ключ. |
Remarks
Данную операцию иногда называют зашифрованием симметричного ключа алгоритма на асимметричном.
Классы шифрования XML платформы .NET Framework реализуют спецификации шифрования XML, определенные консорциумом W3C: XML Encryption Syntax and Processing. Дополненения к спецификации для российских стандартов описано в Using GOST Algorithms for XML Security.
EncryptKey(Gost28147, Gost3410_2012_256, GostKeyWrapMethod)
Экспорт симметричного ключа Gost28147 на пользовательском ключе.
Declaration
public static byte[] EncryptKey(Gost28147 simm, Gost3410_2012_256 gost, GostKeyWrapMethod wrapMethod)
Parameters
Type | Name | Description |
---|---|---|
Gost28147 | simm | Симметричный экспортируемый ключ. |
Gost3410_2012_256 | gost | Пользовательский ключ экспорта. |
GostKeyWrapMethod | wrapMethod | Алгоритм экпорта симметричных ключей |
Returns
Type | Description |
---|---|
byte[] | Байтовый массив, содержащий зашифрованный ключ. |
Remarks
Данную операцию иногда называют зашифрованием симметричного ключа алгоритма на асимметричном.
Классы шифрования XML платформы .NET Framework реализуют спецификации шифрования XML, определенные консорциумом W3C: XML Encryption Syntax and Processing. Дополненения к спецификации для российских стандартов описано в Using GOST Algorithms for XML Security.
EncryptKey(Gost28147, Gost3410_2012_512)
Экспорт симметричного ключа Gost28147 на пользовательском ключе.
Declaration
public static byte[] EncryptKey(Gost28147 simm, Gost3410_2012_512 gost)
Parameters
Type | Name | Description |
---|---|---|
Gost28147 | simm | Симметричный экспортируемый ключ. |
Gost3410_2012_512 | gost | Пользовательский ключ экспорта. |
Returns
Type | Description |
---|---|
byte[] | Байтовый массив, содержащий зашифрованный ключ. |
Remarks
Данную операцию иногда называют зашифрованием симметричного ключа алгоритма на асимметричном.
Классы шифрования XML платформы .NET Framework реализуют спецификации шифрования XML, определенные консорциумом W3C: XML Encryption Syntax and Processing. Дополненения к спецификации для российских стандартов описано в Using GOST Algorithms for XML Security.
EncryptKey(Gost28147, Gost3410_2012_512, GostKeyWrapMethod)
Экспорт симметричного ключа Gost28147 на пользовательском ключе.
Declaration
public static byte[] EncryptKey(Gost28147 simm, Gost3410_2012_512 gost, GostKeyWrapMethod wrapMethod)
Parameters
Type | Name | Description |
---|---|---|
Gost28147 | simm | Симметричный экспортируемый ключ. |
Gost3410_2012_512 | gost | Пользовательский ключ экспорта. |
GostKeyWrapMethod | wrapMethod | Алгоритм экпорта |
Returns
Type | Description |
---|---|
byte[] | Байтовый массив, содержащий зашифрованный ключ. |
Remarks
Данную операцию иногда называют зашифрованием симметричного ключа алгоритма на асимметричном.
Классы шифрования XML платформы .NET Framework реализуют спецификации шифрования XML, определенные консорциумом W3C: XML Encryption Syntax and Processing. Дополненения к спецификации для российских стандартов описано в Using GOST Algorithms for XML Security.
EncryptKey(byte[], CpRSA, bool)
Declaration
public static byte[] EncryptKey(byte[] keyData, CpRSA rsa, bool useOAEP)
Parameters
Type | Name | Description |
---|---|---|
byte[] | keyData | |
CpRSA | rsa | |
bool | useOAEP |
Returns
Type | Description |
---|---|
byte[] |
EncryptKey(byte[], SymmetricAlgorithm)
Declaration
public static byte[] EncryptKey(byte[] keyData, SymmetricAlgorithm symmetricAlgorithm)
Parameters
Type | Name | Description |
---|---|---|
byte[] | keyData | |
SymmetricAlgorithm | symmetricAlgorithm |
Returns
Type | Description |
---|---|
byte[] |
EncryptKey(SymmetricAlgorithm, Gost28147, GostKeyWrapMethod)
Экспорт симметричного ключа на симметричном ключе.
Declaration
public static byte[] EncryptKey(SymmetricAlgorithm keyToEncrypt, Gost28147 exportingKey, GostKeyWrapMethod method)
Parameters
Type | Name | Description |
---|---|---|
SymmetricAlgorithm | keyToEncrypt | Ключ, который экспортируется (зашифровывается). |
Gost28147 | exportingKey | Ключ экспорта (зашифрования) |
GostKeyWrapMethod | method | Метод экспорта (зашифрования). |
Returns
Type | Description |
---|---|
byte[] | Экспортированный (зашифрованный ключ). |
GetDecryptionIV(CpEncryptedData, string?)
Declaration
public virtual byte[] GetDecryptionIV(CpEncryptedData encryptedData, string? symmetricAlgorithmUri)
Parameters
Type | Name | Description |
---|---|---|
CpEncryptedData | encryptedData | |
string | symmetricAlgorithmUri |
Returns
Type | Description |
---|---|
byte[] |
GetDecryptionKey(CpEncryptedData, string?)
Declaration
public virtual SymmetricAlgorithm? GetDecryptionKey(CpEncryptedData encryptedData, string? symmetricAlgorithmUri)
Parameters
Type | Name | Description |
---|---|---|
CpEncryptedData | encryptedData | |
string | symmetricAlgorithmUri |
Returns
Type | Description |
---|---|
SymmetricAlgorithm |
GetIdElement(XmlDocument, string)
Declaration
public virtual XmlElement? GetIdElement(XmlDocument document, string idValue)
Parameters
Type | Name | Description |
---|---|---|
XmlDocument | document | |
string | idValue |
Returns
Type | Description |
---|---|
XmlElement |
ReplaceData(XmlElement, byte[])
Declaration
public void ReplaceData(XmlElement inputElement, byte[] decryptedData)
Parameters
Type | Name | Description |
---|---|---|
XmlElement | inputElement | |
byte[] | decryptedData |
ReplaceElement(XmlElement, CpEncryptedData, bool)
Declaration
public static void ReplaceElement(XmlElement inputElement, CpEncryptedData encryptedData, bool content)
Parameters
Type | Name | Description |
---|---|---|
XmlElement | inputElement | |
CpEncryptedData | encryptedData | |
bool | content |