Show / Hide Table of Contents

Class AsymmetricCryptographyRSA

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

Inheritance
System.Object
AsymmetricCryptographyRSA
Implements
IAsymmetricCryptographyRSA
Namespace: GlitchedPolygons.Services.Cryptography.Asymmetric
Assembly: GlitchedPolygons.Services.Cryptography.Asymmetric.dll
Syntax
public class AsymmetricCryptographyRSA : object, IAsymmetricCryptographyRSA

Constructors

| Improve this Doc View Source

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
System.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.

Methods

| Improve this Doc View Source

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
System.Byte[] encryptedData

The encrypted data bytes (byte[]).

System.String privateKeyPem

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

Returns
Type Description
System.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.

| Improve this Doc View Source

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
System.String encryptedText

The encrypted text to decrypt.

System.String privateKeyPem

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

Returns
Type Description
System.String

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

| Improve this Doc View Source

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
System.Byte[] data

The data (byte[] array) to encrypt.

System.String publicKeyPem

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

Returns
Type Description
System.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.

| Improve this Doc View Source

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
System.String text

The plain text to encrypt.

System.String publicKeyPem

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

Returns
Type Description
System.String

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

| Improve this Doc View Source

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
System.Byte[] data

The data to sign.

System.String privateKeyPem

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

Returns
Type Description
System.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
Org.BouncyCastle.Security.SignerUtilities
| Improve this Doc View Source

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
System.String data

The data to sign.

System.String privateKeyPem

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

Returns
Type Description
System.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
Org.BouncyCastle.Security.SignerUtilities
| Improve this Doc View Source

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
System.Byte[] data

The data whose signature you want to verify.

System.Byte[] signature

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

System.String publicKeyPem

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

Returns
Type Description
System.Boolean

Whether the data's signature verification succeeded or not.

| Improve this Doc View Source

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
System.String data

The data whose signature you want to verify.

System.String signature

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

System.String publicKeyPem

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

Returns
Type Description
System.Boolean

Whether the data's signature verification succeeded or not.

Implements

IAsymmetricCryptographyRSA

See Also

IAsymmetricCryptographyRSA
  • Improve this Doc
  • View Source
Back to top Generated by DocFX