public WeixiaoRequestIMiddleware(ILogger <WeixiaoRequestIMiddleware> logger, ILoggerHelper log4, IOptions <RSASettings> setting) { this.logger = logger; this.log4 = log4; this.setting = setting.Value; rsa = new RSAHelper(RSAType.RSA2, Encoding.UTF8, this.setting.PrivateKey, this.setting.PublicKey, this.setting.AppKey, this.setting.SplitStr); }
public RSATests() { var rsaSettings = new RSASettings() { PrimeNumberCountBitsMax = 16, PrimeNumberCountBitsMin = 0 }; var residueNumberSystem = new ResidueNumberSystem(); _rsaCipher = new RSACipher(residueNumberSystem, Options.Create(rsaSettings)); }
public WeixiaoErrorIMiddleware(ILogger <WeixiaoErrorIMiddleware> logger, ILoggerHelper log4, IOptions <RSASettings> setting) { this.logger = logger; this.log4 = log4; this.setting = setting.Value; }
private static byte[] AsymmetricEncrypt([NotNull] IAsymmetricAlgorithm asymmetric, [NotNull] byte[] data, RSASettings settings = null) { if (data.Length == 0) { return(null); } if (settings is { UseExpiration : true })
public static byte[] AsymmetricEncrypt([NotNull] X509Certificate2 certificate, [NotNull] byte[] data, RSASettings settings = null) { if (data.Length == 0) { return(null); } IAsymmetricAlgorithm asymmetric = null; try { System.Security.Cryptography.RSA algorithm = certificate.GetPublicEncryptor <System.Security.Cryptography.RSA>(); asymmetric = new RSAAlgorithm <System.Security.Cryptography.RSA>(algorithm); return(AsymmetricEncrypt(asymmetric, data, settings)); } finally { ObjectHelper.Dispose(ref asymmetric); } }
public static string AsymmetricEncrypt([NotNull] X509Certificate2 certificate, string value, RSASettings settings = null) { if (string.IsNullOrEmpty(value)) { return(value); } Encoding encoding = settings?.Encoding ?? Encoding.UTF8; byte[] data = encoding.GetBytes(value); byte[] encrypted = AsymmetricEncrypt(certificate, data, settings); Array.Clear(data, 0, data.Length); return(encrypted == null ? null : Convert.ToBase64String(encrypted)); }
public static string AsymmetricEncrypt([NotNull] X509Certificate2 certificate, SecureString value, RSASettings settings = null) { return(value.IsNullOrEmpty() ? null : AsymmetricEncrypt(certificate, value.UnSecure(), settings)); }
public static byte[] AsymmetricEncrypt([NotNull] string publicKeyXml, [NotNull] byte[] data, RSASettings settings = null) { if (publicKeyXml.Length == 0) { throw new ArgumentNullException(nameof(publicKeyXml)); } if (data.Length == 0) { return(null); } IAsymmetricAlgorithm asymmetric = null; try { asymmetric = CreateAsymmetricAlgorithm(settings); asymmetric.FromXmlString(publicKeyXml); return(AsymmetricEncrypt(asymmetric, data, settings)); } finally { ObjectHelper.Dispose(ref asymmetric); } }
public static string AsymmetricEncrypt([NotNull] string publicKeyXml, string value, RSASettings settings = null) { if (publicKeyXml.Length == 0) { throw new ArgumentNullException(nameof(publicKeyXml)); } if (string.IsNullOrEmpty(value)) { return(value); } settings ??= new RSASettings(); byte[] data = settings.Encoding.GetBytes(value); byte[] encrypted = AsymmetricEncrypt(publicKeyXml, data, settings); Array.Clear(data, 0, data.Length); return(encrypted == null ? null : Convert.ToBase64String(encrypted)); }
public static string AsymmetricEncrypt([NotNull] string publicKeyXml, SecureString value, RSASettings settings = null) { return(value.IsNullOrEmpty() ? null : AsymmetricEncrypt(publicKeyXml, value.UnSecure(), settings)); }