Show / Hide Table of Contents

Class AsymmetricCryptographyRSA

IAsymmetricCryptographyRSA implementation for asymmetric RSA encryption/decryption and signing/verifying.

Inheritance
object
AsymmetricCryptographyRSA
Implements
IAsymmetricCryptographyRSA
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: GlitchedPolygons.Services.Cryptography.Asymmetric
Assembly: GlitchedPolygons.Services.Cryptography.Asymmetric.dll
Syntax
public class AsymmetricCryptographyRSA : IAsymmetricCryptographyRSA

Constructors

AsymmetricCryptographyRSA(string)

Instantiates a new AsymmetricCryptographyRSA instance to use for encrypting/decrypting, signing and verifying data strings and bytes.

Declaration
public AsymmetricCryptographyRSA(string signatureAlgo = "SHA256withRSA")
Parameters
Type Name Description
string signatureAlgo

The signature algorithm to use in the signing and verifying methods. Check out Org.BouncyCastle.Security.SignerUtilities for more information about what string values are valid here.

See Also
IAsymmetricCryptographyRSA

Methods

Decrypt(byte[], string)

Decrypts the specified bytes using the provided private RSA key (the key needs to be a PEM-formatted string).

Declaration
public byte[] Decrypt(byte[] encryptedData, string privateKeyPem)
Parameters
Type Name Description
byte[] encryptedData

The encrypted data bytes (byte[]).

string privateKeyPem

The private RSA key to use for decryption (PEM-formatted string).

Returns
Type Description
byte[]

Decrypted bytes (System.Byte[]) if successful; an empty byte[] array if the passed data or key argument was null or empty; null if decryption failed.

See Also
IAsymmetricCryptographyRSA

Decrypt(string, string)

Decrypts the specified text using the provided RSA private key.

Declaration
public string Decrypt(string encryptedText, string privateKeyPem)
Parameters
Type Name Description
string encryptedText

The encrypted text to decrypt.

string privateKeyPem

The private RSA key needed for decryption (PEM-formatted string).

Returns
Type Description
string

Decrypted string; null if the passed key or encrypted text argument was null or empty; null if decryption failed.

See Also
IAsymmetricCryptographyRSA

Encrypt(byte[], string)

Encrypts the specified bytes using the provided RSA public key, which needs to be a PEM-formatted string.

Declaration
public byte[] Encrypt(byte[] data, string publicKeyPem)
Parameters
Type Name Description
byte[] data

The data (byte[] array) to encrypt.

string publicKeyPem

The public key (PEM-formatted string) to use for encryption.

Returns
Type Description
byte[]

The encrypted bytes (System.Byte[]) if successful; Array.Empty<byte>() if the passed data or key argument was null or empty; null if encryption failed.

See Also
IAsymmetricCryptographyRSA

Encrypt(string, string)

Encrypts the specified text using the provided RSA public key.

Declaration
public string Encrypt(string text, string publicKeyPem)
Parameters
Type Name Description
string text

The plain text to encrypt.

string publicKeyPem

The public RSA key for encryption. Needs to be a PEM-formatted string.

Returns
Type Description
string

The encrypted string; string.Empty if the passed key or plain text argument was null or empty; null if encryption failed.

See Also
IAsymmetricCryptographyRSA

Sign(byte[], string)

Signs the specified data byte[] array using the provided private RSA key (which needs to be a PEM-formatted string).

If the procedure succeeds, the calculated signature byte[] array is returned. Otherwise, an empty byte[] array is returned if the provided data and/or privateKeyPem parameters were null or empty. If the procedure fails entirely, null is returned.
Declaration
public byte[] Sign(byte[] data, string privateKeyPem)
Parameters
Type Name Description
byte[] data

The data to sign.

string privateKeyPem

The private RSA key to use for generating the signature (PEM-formatted string)

Returns
Type Description
byte[]

The signature (byte[]), string.Empty if the provided data and/or privateKeyPem parameters were null or empty. Returns null if signing failed entirely.

See Also
SignerUtilities

Sign(string, string)

Signs the specified string using the provided private RSA key (which needs to be a PEM-formatted string).

Signature algo is the value of GlitchedPolygons.Services.Cryptography.Asymmetric.AsymmetricCryptographyRSA.signatureAlgo; see Org.BouncyCastle.Security.SignerUtilities for more information about what algorithms are supported and what strings to use here.

If the procedure succeeds, the calculated signature string is returned (which is base-64 encoded).

Otherwise, an empty string is returned if the provided data and/or privateKeyPem parameters were null or empty. If the procedure fails entirely, null is returned.
Declaration
public string Sign(string data, string privateKeyPem)
Parameters
Type Name Description
string data

The data to sign.

string privateKeyPem

The private RSA key to use for generating the signature (PEM-formatted string)

Returns
Type Description
string

The signature (base-64 encoded string). string.Empty is returned if the provided data and/or privateKeyPem parameters were null or empty. Returns null if signing failed entirely.

See Also
SignerUtilities

Verify(byte[], byte[], string)

Verifies a signature that was obtained using Sign(byte[], string) with a public RSA key (which needs to be a PEM-formatted string).

Declaration
public bool Verify(byte[] data, byte[] signature, string publicKeyPem)
Parameters
Type Name Description
byte[] data

The data whose signature you want to verify.

byte[] signature

The passed data's signature (return value of Sign(byte[], string)).

string publicKeyPem

The public RSA key (PEM-formatted string) to use for signature verification.

Returns
Type Description
bool

Whether the data's signature verification succeeded or not.

See Also
IAsymmetricCryptographyRSA

Verify(string, string, string)

Verifies a signature that was obtained using Sign(string, string) with a public RSA key (which needs to be a PEM-formatted string).

Declaration
public bool Verify(string data, string signature, string publicKeyPem)
Parameters
Type Name Description
string data

The data whose signature you want to verify.

string signature

The passed data's signature (return value of Sign(string, string)).

string publicKeyPem

The public RSA key (PEM-formatted string) to use for signature verification.

Returns
Type Description
bool

Whether the data's signature verification succeeded or not.

See Also
IAsymmetricCryptographyRSA

Implements

IAsymmetricCryptographyRSA

See Also

IAsymmetricCryptographyRSA
Back to top Generated by DocFX