コード例 #1
0
        public static RSAParameters ToRSAParameters(this string subject)
        {
            subject.Verify(nameof(subject)).IsNotEmpty();

            byte[] array = Convert.FromBase64String(subject);

            using var memory = new MemoryStream(array);
            var formatter           = new BinaryFormatter();
            RsaParameterModel model = (RsaParameterModel)formatter.Deserialize(memory);

            return(model.ConvertTo());
        }
コード例 #2
0
        public static string ToBinaryString(this RSAParameters subject)
        {
            subject.Verify(nameof(subject)).IsNotNull();

            RsaParameterModel model = subject.ConvertTo();

            var formatter = new BinaryFormatter();

            using var memory = new MemoryStream();
            formatter.Serialize(memory, model);
            memory.Position = 0;

            return(Convert.ToBase64String(memory.ToArray()));
        }
コード例 #3
0
 public static RSAParameters ConvertTo(this RsaParameterModel rSAParametersModel)
 {
     return(new RSAParameters
     {
         D = rSAParametersModel.D?.ToArray(),
         DP = rSAParametersModel.DP?.ToArray(),
         DQ = rSAParametersModel.DQ?.ToArray(),
         Exponent = rSAParametersModel.Exponent?.ToArray(),
         InverseQ = rSAParametersModel.InverseQ?.ToArray(),
         Modulus = rSAParametersModel.Modulus?.ToArray(),
         P = rSAParametersModel.P?.ToArray(),
         Q = rSAParametersModel.Q?.ToArray(),
     });
 }
コード例 #4
0
        public static string ToJson(this RsaParameterModel subject)
        {
            subject.Verify(nameof(subject)).IsNotNull();

            return(JsonConvert.SerializeObject(subject));
        }