EggEgg.XC.RSAUtil
136.1.0-rc52
See the version list below for details.
dotnet add package EggEgg.XC.RSAUtil --version 136.1.0-rc52
NuGet\Install-Package EggEgg.XC.RSAUtil -Version 136.1.0-rc52
<PackageReference Include="EggEgg.XC.RSAUtil" Version="136.1.0-rc52" />
paket add EggEgg.XC.RSAUtil --version 136.1.0-rc52
#r "nuget: EggEgg.XC.RSAUtil, 136.1.0-rc52"
// Install EggEgg.XC.RSAUtil as a Cake Addin
#addin nuget:?package=EggEgg.XC.RSAUtil&version=136.1.0-rc52&prerelease
// Install EggEgg.XC.RSAUtil as a Cake Tool
#tool nuget:?package=EggEgg.XC.RSAUtil&version=136.1.0-rc52&prerelease
EN | δΈζ
Notice
This package is not the official version of GitHub Repository stulzq/RSAUtil but a custom modified version. Please go to NuGet XC.RSAUtil for the official one.
RSAUtil
A .NET Core RSA tool that provides the ability of data encryption, decryption, signing and verifying signature. It supports using and converting RSA keys of 4 key formats, namely: xml, pkcs1, pkcs8, der.
Installation via NuGet
Install-Package EggEgg.XC.RSAUtil
Documentation
Ready to use
You can use RSAUtilBase.LoadRSAKey(byte[])
to quickly load private and public keys in XML, PKCS1, PKCS8 and DER formats, and paramters like the format and the bits of the RSA key can be auto-detected. The private key instance supports the functionality of the public key (public key encryption, signature verification).
Generating keys
Use the "RsaKeyGenerator" class. The result returned is a
KeyResult
containingprivateKey
andpublicKey
.
Format:
var keys = RsaKeyGenerator.XmlKey(2048); // XML format
// var keys = RsaKeyGenerator.Pkcs1Key(2048); // PKCS1 format
// var keys = RsaKeyGenerator.Pkcs8Key(2048); // PKCS8 format
var privateKey = keys.privateKey;
var publicKey = key.publicKey;
RSA key conversion
You can freely convert key formats using RsaKeyConvert.Format()
. For example:
RsaKeyConvert.Format(key,
new RsaKeyFeature { IsPrivate = true; Format = RsaKeyFormat.Xml; Padding = RsaKeyPadding.Xml },
new RsaKeyFeature { IsPrivate = true; Format = RsaKeyFormat.Der; Padding = RsaKeyPadding.Pkcs1 });
RsaKeyConvert.Format(key,
new RsaKeyFeature { IsPrivate = false; Format = RsaKeyFormat.Xml; Padding = RsaKeyPadding.Xml },
new RsaKeyFeature { IsPrivate = false; Format = RsaKeyFormat.Pem; Padding = RsaKeyPadding.Pkcs1 });
RsaKeyConvert.Format(key,
new RsaKeyFeature { IsPrivate = true; Format = RsaKeyFormat.Pem; Padding = RsaKeyPadding.Pkcs1 },
new RsaKeyFeatire { IsPrivate = false; Format = RsaKeyFormat.Pem; Padding = RsaKeyPadding.Pkcs8 });
Other hardcoded conversion methods can also be used under the RsaKeyConvert
class.
Encryption, decryption, signing, and signature verification
XML, Pkcs1, and Pkcs8 correspond to the classes:
RsaXmlUtil
,RsaPkcs1Util
,RsaPkcs8Util
. They inherit from the abstract classRSAUtilBase
.
- Encryption:
RSAUtilBase.RsaEncrypt()
- Decryption:
RSAUtilBase.RsaDecrypt()
- Sign:
RSAUtilBase.SignData()
- Verification:
RSAUtilBase.VerifyData()
Open-source components used
bc-csharp - onovotny
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- Portable.BouncyCastle (>= 1.9.0)
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
136.1.0-rc54 | 0 | 4/17/2024 |
136.1.0-rc53 | 0 | 3/20/2024 |
136.1.0-rc52 | 2 | 3/20/2024 |
136.1.0-rc51 | 1 | 3/19/2024 |
136.1.0-rc50 | 1 | 3/18/2024 |
136.0.0-rc01 | 0 | 12/11/2023 |
0.136.0-rc03 | 2 | 12/7/2023 |
0.136.0-rc02 | 1 | 12/7/2023 |
0.136.0-rc01 | 1 | 12/6/2023 |
0.136.0-beta01 | 0 | 12/6/2023 |
Notice: This package is not the official version of GitHub Repository stulzq/RSAUtil but a custom modified version. Please go to https://www.nuget.org/packages/XC.RSAUtil for the official one.