Class AsymmetricCryptographyRSA
IAsymmetricCryptographyRSA implementation for asymmetric RSA encryption/decryption and signing/verifying.
Inheritance
Implements
Namespace: GlitchedPolygons.Services.Cryptography.Asymmetric
Assembly: GlitchedPolygons.Services.Cryptography.Asymmetric.dll
Syntax
public class AsymmetricCryptographyRSA : object, IAsymmetricCryptographyRSA
Constructors
| Improve this Doc View SourceAsymmetricCryptographyRSA(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 |
Methods
| Improve this Doc View SourceDecrypt(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 ( |
System.String | privateKeyPem | The private RSA key to use for decryption (PEM-formatted |
Returns
Type | Description |
---|---|
System.Byte[] | Decrypted bytes (System.Byte[]) if successful; an empty |
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 |
Returns
Type | Description |
---|---|
System.String | Decrypted |
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 ( |
System.String | publicKeyPem | The public key (PEM-formatted |
Returns
Type | Description |
---|---|
System.Byte[] | The encrypted bytes ( |
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 |
Returns
Type | Description |
---|---|
System.String | The encrypted |
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 |
Returns
Type | Description |
---|---|
System.Byte[] | The signature ( |
See Also
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
string
s 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 |
Returns
Type | Description |
---|---|
System.String | The signature (base-64 encoded |
See Also
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 |
System.String | publicKeyPem | The public RSA key (PEM-formatted |
Returns
Type | Description |
---|---|
System.Boolean | Whether the data's signature verification succeeded or not. |
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 |
System.String | publicKeyPem | The public RSA key (PEM-formatted |
Returns
Type | Description |
---|---|
System.Boolean | Whether the data's signature verification succeeded or not. |