Ejemplo n.º 1
0
        public static int CalculateEncryptedSize(
            X509Certificate2 cert,
            int messageSize,
            UASecurity.PaddingAlgorithm paddingAlgorithm)
        {
            if (!(cert.PublicKey.Key is RSA))
            {
                throw new Exception("Could not create RSA");
            }

            int num1 = UASecurity.PaddingSizeForMethod(paddingAlgorithm);
            int num2 = UASecurity.CalculatePublicKeyLength(cert) / 8;

            if (num2 < num1)
            {
                throw new Exception();
            }

            int num3 = num2 - num1;

            return((messageSize + num3 - 1) / num3 * num2);
        }