Class CryptoHelper
This is the Helper to encrypt and decrypt the information with Secure Exchanges
Inherited Members
Namespace: SecureExchangesSDK.Helpers
Assembly: SecureExchangesSDK.dll
Syntax
public static class CryptoHelper
Methods
AlterBinary(string, byte[], int, int)
This will derive a byteArray with a Password and a number of iteration
Declaration
public static byte[] AlterBinary(string password, byte[] original, int iteration, int maskLength = 16)
Parameters
| Type | Name | Description |
|---|---|---|
| string | password | Password to use for derivation, longer, is better |
| byte[] | original | The original byte array to derive |
| int | iteration | the number of iteration you want to derive. Higher is better, but will be more slow. 1000 should be use |
| int | maskLength |
Returns
| Type | Description |
|---|---|
| byte[] |
Examples
Random rnd = new Random();
var iteration = rnd.Next(1000, 1200);
byte[] alterByteArray = CryptoHelper.AlterBinary("ThatIsAVeryComplexPswMmmNotSure!!!?", binary, iteration);
AlterGuid(string, Guid)
That is use to Derive a Guid with a password
Declaration
public static Guid AlterGuid(string password, Guid original)
Parameters
| Type | Name | Description |
|---|---|---|
| string | password | Password need to be use for derivation |
| Guid | original | Original Guid need to be derived |
Returns
| Type | Description |
|---|---|
| Guid |
Examples
Guid newGuid = CryptoHelper.AlterGuid(password, MyGuid);
BytesXor(byte[], byte[])
Performs XOR operation between two byte arrays of equal length.
Declaration
public static byte[] BytesXor(byte[] mask, byte[] source)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | mask | The mask byte array to XOR with the source. |
| byte[] | source | The source byte array to be XORed. |
Returns
| Type | Description |
|---|---|
| byte[] | A new byte array containing the XOR result. |
Examples
byte[] mask = new byte[] { 0x0F, 0xF0, 0xAA };
byte[] source = new byte[] { 0x55, 0x55, 0x55 };
byte[] result = CryptoHelper.BytesXor(mask, source);
// result = { 0x5A, 0xA5, 0xFF }
Exceptions
| Type | Condition |
|---|---|
| Exception | Thrown when the arrays have different lengths. |
ClearRSAKeyStore(string)
Declaration
public static bool ClearRSAKeyStore(string keyStoreName)
Parameters
| Type | Name | Description |
|---|---|---|
| string | keyStoreName |
Returns
| Type | Description |
|---|---|
| bool |
ConcatByteArray(params byte[][])
Use to merge multiple bytearray togheter
Declaration
public static byte[] ConcatByteArray(params byte[][] arrays)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[][] | arrays | Return a single bytes arrays |
Returns
| Type | Description |
|---|---|
| byte[] |
Examples
byte[] singleByteArray = CryptoHelper.ConcatByteArray(byte[], byte[],byte[]);
CreateNewPrivateCertificate(int, bool)
Export a certificate with the private Key
Declaration
public static string CreateNewPrivateCertificate(int keySize, bool exportPrivateKey = false)
Parameters
| Type | Name | Description |
|---|---|---|
| int | keySize | The key site |
| bool | exportPrivateKey | Did the CER string will contains the certificate |
Returns
| Type | Description |
|---|---|
| string |
CreateNewPrivateKey(int)
Create a new private RSA key xml format
Declaration
public static string CreateNewPrivateKey(int keySize)
Parameters
| Type | Name | Description |
|---|---|---|
| int | keySize | Key size need to be use, 256, 512, 1024, 2048, 4096, 8192 |
Returns
| Type | Description |
|---|---|
| string | Return the xml private key |
CreateRSAKeyStore(string, int)
Declaration
public static string CreateRSAKeyStore(string keyStoreName, int keySize = 2048)
Parameters
| Type | Name | Description |
|---|---|---|
| string | keyStoreName | |
| int | keySize |
Returns
| Type | Description |
|---|---|
| string |
DecryptBinaryFromBytes(byte[], byte[], byte[], PaddingMode)
This method is use to decrypt binary Rijndael
Declaration
public static byte[] DecryptBinaryFromBytes(byte[] cipher, byte[] Key, byte[] IV, PaddingMode paddingMode = PaddingMode.PKCS7)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | cipher | The binary to decrypt, canot be null |
| byte[] | Key | The key use to decrypt the binary |
| byte[] | IV | The iv use to decrypt the binary |
| PaddingMode | paddingMode | Padding mode use to decrypt. The default is PKCS7 |
Returns
| Type | Description |
|---|---|
| byte[] | The decrypted array |
Examples
byte[] unEncryptedByteArray = CryptoHelper.DecryptBinaryFromBytes(Convert.FromBase64String(Base64BinaryArray), Key, IV);
DecryptFile(string, string, byte[], byte[])
Decrypt file, destination will be override.
Declaration
public static void DecryptFile(string sourceFilename, string destinationFilename, byte[] Key, byte[] IV)
Parameters
| Type | Name | Description |
|---|---|---|
| string | sourceFilename | |
| string | destinationFilename | |
| byte[] | Key | |
| byte[] | IV |
DecryptRSAContent(string, byte[], bool)
Decrypt RSA crypted data with private key, and return a byte array
Declaration
public static byte[] DecryptRSAContent(string privateKey, byte[] cryptedData, bool fOAEP)
Parameters
| Type | Name | Description |
|---|---|---|
| string | privateKey | The xml private key need to be use to uncrypt the crypteddata |
| byte[] | cryptedData | Byte array of encrypted data |
| bool | fOAEP | true to perform direct System.Security.Cryptography.RSA encryption using OAEP padding (only available on a computer runing XP or later); otherwise, false to use PCKS#1.5 padding |
Returns
| Type | Description |
|---|---|
| byte[] | The byte array uncrypted of the byte array |
DecryptRSAContentToString(string, byte[], bool)
Decrypt RSA crypted data with private key, and return a string
Declaration
public static string DecryptRSAContentToString(string privateKey, byte[] cryptedData, bool fOAEP)
Parameters
| Type | Name | Description |
|---|---|---|
| string | privateKey | The xml private key need to be use to uncrypt the crypteddata |
| byte[] | cryptedData | Byte array of encrypted data |
| bool | fOAEP | true to perform direct System.Security.Cryptography.RSA encryption using OAEP padding (only available on a computer runing XP or later); otherwise, false to use PCKS#1.5 padding |
Returns
| Type | Description |
|---|---|
| string | The string uncrypted of the byte array |
Examples
string decryptedString = CryptoHelper.DecryptRSAContentToString(privateKey, stringByteArray, true);
DecryptSecfFile(string, byte[], byte[])
Decrypt file, destination will be override.
Declaration
public static bool DecryptSecfFile(string sourceFilename, byte[] Key, byte[] IV)
Parameters
| Type | Name | Description |
|---|---|---|
| string | sourceFilename | |
| byte[] | Key | |
| byte[] | IV |
Returns
| Type | Description |
|---|---|
| bool |
DecryptSecfFile(string, string, byte[], byte[])
Decrypt file, destination will be override.
Declaration
public static bool DecryptSecfFile(string sourceFilename, string destinationDirectory, byte[] Key, byte[] IV)
Parameters
| Type | Name | Description |
|---|---|---|
| string | sourceFilename | |
| string | destinationDirectory | |
| byte[] | Key | |
| byte[] | IV |
Returns
| Type | Description |
|---|---|
| bool |
DecryptStream(Stream, Stream, byte[], byte[], PaddingMode)
Decrypt Binaray with stream
Declaration
public static void DecryptStream(Stream inputStream, Stream outputStream, byte[] Key, byte[] IV, PaddingMode paddingMode = PaddingMode.PKCS7)
Parameters
| Type | Name | Description |
|---|---|---|
| Stream | inputStream | The caller must close the input stream after use |
| Stream | outputStream | The caller must close the output stream after use |
| byte[] | Key | The key |
| byte[] | IV | The IV |
| PaddingMode | paddingMode | The padding mode |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
DecryptStringFromBase64(string, byte[], byte[])
Decrypt base 64 string
Declaration
public static string DecryptStringFromBase64(string b64, byte[] Key, byte[] IV)
Parameters
| Type | Name | Description |
|---|---|---|
| string | b64 | The encrypted string base64 |
| byte[] | Key | The key need to be use for decryption |
| byte[] | IV | The iv need to be use for decryption |
Returns
| Type | Description |
|---|---|
| string |
Examples
string decryptedString = DecryptStringFromBytes("SSBuZWVkIHRvIGJlIGRlY3J5cHRlZD8gWW91IGFyZSByaWdodCwgdGhhdCB3YXMgbm90IHJlYWxseSBlbmNyeXB0ZWQhISA6LSk=", Key, IV);
DecryptStringFromBase64(string, string, string)
Decrypts a Base64 encoded encrypted string using Base64 encoded key and IV.
Declaration
public static string DecryptStringFromBase64(string b64, string Base64Key, string Base64IV)
Parameters
| Type | Name | Description |
|---|---|---|
| string | b64 | The Base64 encoded encrypted string. |
| string | Base64Key | The Base64 encoded AES key. |
| string | Base64IV | The Base64 encoded AES initialization vector. |
Returns
| Type | Description |
|---|---|
| string | The decrypted plain text string. |
Examples
string decrypted = CryptoHelper.DecryptStringFromBase64(encryptedB64, base64Key, base64IV);
DecryptStringFromBytes(byte[], byte[], byte[])
Decrypt binaryText
Declaration
public static string DecryptStringFromBytes(byte[] cipherText, byte[] Key, byte[] IV)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | cipherText | The encrypted binary data |
| byte[] | Key | The key need to be used for decryption |
| byte[] | IV | The iv need to be used for decryption |
Returns
| Type | Description |
|---|---|
| string | return a string unencrypted of a string encrypted |
Examples
DecryptStringFromBytes(Convert.FromBase64String(b64), Key, IV);
EncryptBinary(byte[], byte[], byte[], PaddingMode)
Use to encrypt with Rijndael a byte array
Declaration
public static byte[] EncryptBinary(byte[] binary, byte[] Key, byte[] IV, PaddingMode paddingMode = PaddingMode.PKCS7)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | binary | Binary need to be encrypted |
| byte[] | Key | The key of the encryption |
| byte[] | IV | The iv of the encryption |
| PaddingMode | paddingMode |
Returns
| Type | Description |
|---|---|
| byte[] | Return the crypted bytes array |
Examples
byte[] cryptedBinary = CryptoHelper.EncryptBinary(Binary, Key, IV);
EncryptFile(string, string, byte[], byte[])
Use to encrypt file destination will be override
Declaration
public static void EncryptFile(string sourceFilename, string destinationFilename, byte[] Key, byte[] IV)
Parameters
| Type | Name | Description |
|---|---|---|
| string | sourceFilename | |
| string | destinationFilename | |
| byte[] | Key | |
| byte[] | IV |
EncryptRSAContent(string, byte[], bool)
Encrypt a byte array with a public key
Declaration
public static byte[] EncryptRSAContent(string publicKey, byte[] content, bool fOAEP)
Parameters
| Type | Name | Description |
|---|---|---|
| string | publicKey | The xml public key need to be use |
| byte[] | content | The string need to be encrypted |
| bool | fOAEP | true to perform direct System.Security.Cryptography.RSA encryption using OAEP padding (only available on a computer runing XP or later); otherwise, false to use PCKS#1.5 padding |
Returns
| Type | Description |
|---|---|
| byte[] | Byte array of the byte array, encrypted with the public key |
Examples
byte[] cryptedString = EncryptRSAContent(publicKey, contentBinary, true);
EncryptRSAContent(string, string)
Encrypt RSA content with xml public key
Declaration
public static byte[] EncryptRSAContent(string publicKey, string content)
Parameters
| Type | Name | Description |
|---|---|---|
| string | publicKey | Public key |
| string | content | The string need to be encrypted |
Returns
| Type | Description |
|---|---|
| byte[] | Encrypted string |
Examples
byte[] encryptedData = EncryptRSAContent(publicKey, content);
EncryptRSAContent(string, string, bool)
Encrypt a string with a public key
Declaration
public static byte[] EncryptRSAContent(string publicKey, string content, bool fOAEP)
Parameters
| Type | Name | Description |
|---|---|---|
| string | publicKey | The xml public key need to be use |
| string | content | The string need to be encrypted System.Text.Encoding.Default |
| bool | fOAEP | true to perform direct System.Security.Cryptography.RSA encryption using OAEP padding (only available on a computer runing XP or later); otherwise, false to use PCKS#1.5 padding |
Returns
| Type | Description |
|---|---|
| byte[] | Byte array of the string, encrypted with the public key |
Examples
byte[] cryptedString = EncryptRSAContent(publicKey, contentString, true);
EncryptSecfFile(string, byte[], byte[])
Use to encrypt file destination will be override
Declaration
public static bool EncryptSecfFile(string sourceFilename, byte[] Key, byte[] IV)
Parameters
| Type | Name | Description |
|---|---|---|
| string | sourceFilename | |
| byte[] | Key | |
| byte[] | IV |
Returns
| Type | Description |
|---|---|
| bool |
EncryptSecfFile(string, string, byte[], byte[])
Use to encrypt file destination will be override
Declaration
public static bool EncryptSecfFile(string sourceFilename, string destinationDirectory, byte[] Key, byte[] IV)
Parameters
| Type | Name | Description |
|---|---|---|
| string | sourceFilename | |
| string | destinationDirectory | |
| byte[] | Key | |
| byte[] | IV |
Returns
| Type | Description |
|---|---|
| bool |
EncryptStream(Stream, Stream, byte[], byte[], PaddingMode)
Encrypt binary by using stream to encrypt large file
Declaration
public static void EncryptStream(Stream inputStream, Stream outputStream, byte[] Key, byte[] IV, PaddingMode paddingMode = PaddingMode.PKCS7)
Parameters
| Type | Name | Description |
|---|---|---|
| Stream | inputStream | The input stream |
| Stream | outputStream | The outpout stream. ATTENTION THE CALLER MUST CLOSE THE STREAM |
| byte[] | Key | The key |
| byte[] | IV | The IV |
| PaddingMode | paddingMode | The padding mode |
Exceptions
| Type | Condition |
|---|---|
| ArgumentNullException |
EncryptStringToB64(string, byte[], byte[])
Use to encrypt a string to UTF8 base 64
Declaration
public static string EncryptStringToB64(string plainText, byte[] Key, byte[] IV)
Parameters
| Type | Name | Description |
|---|---|---|
| string | plainText | Text to encrypt |
| byte[] | Key | The key use to encrypt |
| byte[] | IV | The Iv use to encrypt |
Returns
| Type | Description |
|---|---|
| string | The base64 string |
Examples
string cryptedString = CryptoHelper.EncryptStringToB64("I need encryption for this string", KEY, IV);
EncryptStringToBytes(string, byte[], byte[])
Use to encrypt plainText UTF8 to byte array
Declaration
public static byte[] EncryptStringToBytes(string plainText, byte[] Key, byte[] IV)
Parameters
| Type | Name | Description |
|---|---|---|
| string | plainText | |
| byte[] | Key | |
| byte[] | IV |
Returns
| Type | Description |
|---|---|
| byte[] | A byte array encrypted. The plainText must be in UTF-8 |
Examples
byte[] encrypted = CryptoHelper.EncryptStringToBytes(plainText, Key, IV);
EnncryptRSAContentToBase64String(string, string)
Encrypt with public key a string. Use RSA crypto provider
Declaration
public static string EnncryptRSAContentToBase64String(string publicKey, string content)
Parameters
| Type | Name | Description |
|---|---|---|
| string | publicKey | The public XML public key need to be used |
| string | content | The content to encrypt |
Returns
| Type | Description |
|---|---|
| string | Base64 encrypted string |
Examples
string encryptedString = CryptoHelper.EnncryptRSAContentToBase64String(PublicKey, Content);
FillSecureRandomByteArray(byte[])
Fill a array with random strong value
Declaration
public static void FillSecureRandomByteArray(byte[] data)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | data | Array to fill |
GenerateAESKeys()
Generate a new AES keys
Declaration
public static Keys GenerateAESKeys()
Returns
| Type | Description |
|---|---|
| Keys |
GenerateBase64KeyAndIV(out string, out string)
Generate 256 bits base 64 key and base 64 iv key with RijndaelManaged.
Declaration
public static void GenerateBase64KeyAndIV(out string b64Key, out string b64iv)
Parameters
| Type | Name | Description |
|---|---|---|
| string | b64Key | |
| string | b64iv |
GenerateSecureRandomByteArray(int)
That method will return a array fill with SecureRandomValue
Declaration
public static byte[] GenerateSecureRandomByteArray(int length)
Parameters
| Type | Name | Description |
|---|---|---|
| int | length |
Returns
| Type | Description |
|---|---|
| byte[] |
GetKeyFromSHA512(byte[])
From a SHA512 return a 32 bit keys
Declaration
public static byte[] GetKeyFromSHA512(byte[] hash)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | hash |
Returns
| Type | Description |
|---|---|
| byte[] |
GetMD5Bytes(string)
Computes the MD5 hash of a UTF-8 encoded string and returns it as a byte array.
Declaration
public static byte[] GetMD5Bytes(string plainText)
Parameters
| Type | Name | Description |
|---|---|---|
| string | plainText | The UTF-8 string to hash. |
Returns
| Type | Description |
|---|---|
| byte[] | The MD5 hash as a byte array, or null if the input is null or empty. |
Examples
byte[] hashBytes = CryptoHelper.GetMD5Bytes("Hello World");
GetMD5HashOfBytes(byte[])
Return a MD5 Hexa string of the hash
Declaration
public static string GetMD5HashOfBytes(byte[] b)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | b | Source binary that need to get the Hash |
Returns
| Type | Description |
|---|---|
| string | MD5 128 bit hexa hash |
Examples
string fileHash = CryptoHelper.GetMD5HashOfBytes(Binary);
GetMD5HashOfFile(string)
Return a MD5 hash of a file
Declaration
public static string GetMD5HashOfFile(string filePath)
Parameters
| Type | Name | Description |
|---|---|---|
| string | filePath | Path to the file |
Returns
| Type | Description |
|---|---|
| string | HEXA MD5 string file |
Examples
string hash = CryptoHelper.GetMD5HashOfFile(myfile.FileName);
GetMD5HashOfStream(Stream)
Get the Hexa MD5 string of a stream
Declaration
public static string GetMD5HashOfStream(Stream stream)
Parameters
| Type | Name | Description |
|---|---|---|
| Stream | stream |
Returns
| Type | Description |
|---|---|
| string |
Examples
using (var stream = new BufferedStream(File.OpenRead(filePath), 3145728))
{
return GetMD5HashOfStream(stream);
}
GetMD5HashOfString(string)
Return the MD5 hash of a string
Declaration
public static string GetMD5HashOfString(string stringToHash)
Parameters
| Type | Name | Description |
|---|---|---|
| string | stringToHash | UTF-8 string |
Returns
| Type | Description |
|---|---|
| string | HEXA string of the Hash |
Examples
string hash = CryptoHelper.GetMD5HashOfString(content);
GetPublicKeyFromPrivateKey(string)
Return the public RSA key of a private key. the public key will be in xml format
Declaration
public static string GetPublicKeyFromPrivateKey(string privateKey)
Parameters
| Type | Name | Description |
|---|---|---|
| string | privateKey | XML private key to extract the public key |
Returns
| Type | Description |
|---|---|
| string | The xml public key of the private key |
GetPublicKeyFromPrivateXmlOrPEM(string)
Declaration
public static RSAKeys GetPublicKeyFromPrivateXmlOrPEM(string privateKey)
Parameters
| Type | Name | Description |
|---|---|---|
| string | privateKey |
Returns
| Type | Description |
|---|---|
| RSAKeys |
GetPublicKeySize(string)
Get the key size of a public key
Declaration
public static int GetPublicKeySize(string publicKey)
Parameters
| Type | Name | Description |
|---|---|---|
| string | publicKey |
Returns
| Type | Description |
|---|---|
| int |
GetSHA256Bytes(byte[])
REturn the hash of a SHA256 of bytes
Declaration
public static byte[] GetSHA256Bytes(byte[] bytes)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | bytes |
Returns
| Type | Description |
|---|---|
| byte[] |
GetSHA256Bytes(string)
Get the SHA 256 of UTF-8 string
Declaration
public static byte[] GetSHA256Bytes(string plainText)
Parameters
| Type | Name | Description |
|---|---|---|
| string | plainText |
Returns
| Type | Description |
|---|---|
| byte[] |
GetSHA256HashOfBytes(byte[])
Get the HEX hash of bytes
Declaration
public static string GetSHA256HashOfBytes(byte[] b)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | b |
Returns
| Type | Description |
|---|---|
| string |
GetSHA256HashOfString(string)
Get the HEX hash of a string utf8
Declaration
public static string GetSHA256HashOfString(string b)
Parameters
| Type | Name | Description |
|---|---|---|
| string | b |
Returns
| Type | Description |
|---|---|
| string |
GetSHA256OfFile(string)
Get the HEX hash of file
Declaration
public static string GetSHA256OfFile(string filePath)
Parameters
| Type | Name | Description |
|---|---|---|
| string | filePath |
Returns
| Type | Description |
|---|---|
| string |
GetSHA256OfStream(Stream)
Get the HEX hash of stream
Declaration
public static string GetSHA256OfStream(Stream stream)
Parameters
| Type | Name | Description |
|---|---|---|
| Stream | stream |
Returns
| Type | Description |
|---|---|
| string |
GetSHA512Bytes(byte[])
Return the hash of a SHA 512 of bytes
Declaration
public static byte[] GetSHA512Bytes(byte[] bytes)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | bytes |
Returns
| Type | Description |
|---|---|
| byte[] |
GetSHA512Bytes(string)
Get SHA 512 of UTF-8 string
Declaration
public static byte[] GetSHA512Bytes(string plainText)
Parameters
| Type | Name | Description |
|---|---|---|
| string | plainText |
Returns
| Type | Description |
|---|---|
| byte[] |
GetSHA512HashOfBytes(byte[])
Get the HEX hash of bytes
Declaration
public static string GetSHA512HashOfBytes(byte[] b)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | b |
Returns
| Type | Description |
|---|---|
| string |
GetSHA512HashOfString(string)
Get the HEX hash of a string utf8
Declaration
public static string GetSHA512HashOfString(string b)
Parameters
| Type | Name | Description |
|---|---|---|
| string | b |
Returns
| Type | Description |
|---|---|
| string |
GetSHA512OfFile(string, bool)
Get the HEX hash of file
Declaration
public static string GetSHA512OfFile(string filePath, bool fileOverOneGigabitHashIsSplit = true)
Parameters
| Type | Name | Description |
|---|---|---|
| string | filePath | |
| bool | fileOverOneGigabitHashIsSplit | If the file is over that 1G, then the hash calculation is optimised with combinaison of 100Mb hash |
Returns
| Type | Description |
|---|---|
| string |
GetSHA512OfStream(Stream)
Get the HEX hash of stream
Declaration
public static string GetSHA512OfStream(Stream stream)
Parameters
| Type | Name | Description |
|---|---|---|
| Stream | stream |
Returns
| Type | Description |
|---|---|
| string |
GetStrongKeyStoreNameFromAssemblyGuid()
Declaration
public static string GetStrongKeyStoreNameFromAssemblyGuid()
Returns
| Type | Description |
|---|---|
| string |
HexToByteArray(string)
Declaration
public static byte[] HexToByteArray(string hex)
Parameters
| Type | Name | Description |
|---|---|---|
| string | hex |
Returns
| Type | Description |
|---|---|
| byte[] |
KeyAlreadyExistInMachineKeys(string)
Declaration
public static bool KeyAlreadyExistInMachineKeys(string strongName)
Parameters
| Type | Name | Description |
|---|---|---|
| string | strongName |
Returns
| Type | Description |
|---|---|
| bool |
RSADencryptWhitKeyContainerFromMachineKeys(byte[], string)
Declaration
public static byte[] RSADencryptWhitKeyContainerFromMachineKeys(byte[] encrBytes, string containerName)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | encrBytes | |
| string | containerName |
Returns
| Type | Description |
|---|---|
| byte[] |
RSADencryptWhitKeyContainerFromMachineKeysToString(byte[], string)
Declaration
public static string RSADencryptWhitKeyContainerFromMachineKeysToString(byte[] encrBytes, string containerName)
Parameters
| Type | Name | Description |
|---|---|---|
| byte[] | encrBytes | |
| string | containerName |
Returns
| Type | Description |
|---|---|
| string |
RSAEncryptWhitKeyContainerMachineKeyStore(string, string)
Declaration
public static byte[] RSAEncryptWhitKeyContainerMachineKeyStore(string message, string keyContainerName)
Parameters
| Type | Name | Description |
|---|---|---|
| string | message | |
| string | keyContainerName |
Returns
| Type | Description |
|---|---|
| byte[] |
RSAEncryptWhitKeyContainerMachineKeyStoreToBase64(string, string)
Declaration
public static string RSAEncryptWhitKeyContainerMachineKeyStoreToBase64(string message, string keyContainerName)
Parameters
| Type | Name | Description |
|---|---|---|
| string | message | |
| string | keyContainerName |
Returns
| Type | Description |
|---|---|
| string |
SignDataWithPrivateKey(string, byte[], string)
Get the signature of a message signed with a private key
Declaration
public static byte[] SignDataWithPrivateKey(string privateKey, byte[] cryptedData, string hashAlgo = "SHA512")
Parameters
| Type | Name | Description |
|---|---|---|
| string | privateKey | |
| byte[] | cryptedData | |
| string | hashAlgo |
Returns
| Type | Description |
|---|---|
| byte[] |
SignDataWithPrivateKey(string, string, string)
return a base64 signature of the hash
Declaration
public static string SignDataWithPrivateKey(string privateKey, string clearText, string hashAlgo = "SHA512")
Parameters
| Type | Name | Description |
|---|---|---|
| string | privateKey | |
| string | clearText | |
| string | hashAlgo |
Returns
| Type | Description |
|---|---|
| string |
TransformXmlKeyToPEM(string)
That will transform a xml key to certificate
Declaration
public static string TransformXmlKeyToPEM(string xmlKey)
Parameters
| Type | Name | Description |
|---|---|---|
| string | xmlKey | If we get the private key, the PEM will contain the private key if not only the public key |
Returns
| Type | Description |
|---|---|
| string |
VerifySignature(string, byte[], byte[], string)
Vérifie la signature d'un échange clé publique privé
Declaration
public static bool VerifySignature(string xmlPublicKey, byte[] signature, byte[] clearHashData, string hashAlgo = "SHA512")
Parameters
| Type | Name | Description |
|---|---|---|
| string | xmlPublicKey | La clé publique associer à la clé privé |
| byte[] | signature | La signature en bytes |
| byte[] | clearHashData | Le hash des données signers en bytes |
| string | hashAlgo | l'alrorithme utiliser |
Returns
| Type | Description |
|---|---|
| bool |
VerifySignature(string, string, string, string)
Vérifie la signature d'un échange clé publique privé
Declaration
public static bool VerifySignature(string xmlPublicKey, string base64Signature, string clearBase64HashData, string hashAlgo = "SHA512")
Parameters
| Type | Name | Description |
|---|---|---|
| string | xmlPublicKey | La clé publique associer à la clé privé |
| string | base64Signature | La signature fait à partir de la clé privé en base 64 |
| string | clearBase64HashData | Le hash du message qui à été signer en base 64 |
| string | hashAlgo | l'algoritme utiliser |
Returns
| Type | Description |
|---|---|
| bool |