Exemple #1
0
        static OAuthServerHelper()
        {
            RSAParameters privateRsaParameters;
            RSAParameters publicRsaParameters;

            using (var rsaKeyGen = Encryptor.Current.CreateAsymmetrical(RsaKeySize))
            {
                privateRsaParameters = rsaKeyGen.ExportParameters(true);
                publicRsaParameters  = rsaKeyGen.ExportParameters(false);
            }

            Tuple <byte[], byte[]> aesKeyAndIV;

            using (var aesKeyGen = Encryptor.Current.CreateSymmetrical())
            {
                aesKeyAndIV = Tuple.Create(aesKeyGen.Key, aesKeyGen.IV);
            }

            rsa = new Raven.Abstractions.Threading.ThreadLocal <IAsymmetricalEncryptor>(() =>
            {
                var result = Encryptor.Current.CreateAsymmetrical();
                result.ImportParameters(privateRsaParameters);
                return(result);
            });

            aes = new Raven.Abstractions.Threading.ThreadLocal <ISymmetricalEncryptor>(() =>
            {
                var result = Encryptor.Current.CreateSymmetrical();
                result.Key = aesKeyAndIV.Item1;
                result.IV  = aesKeyAndIV.Item2;
                return(result);
            });

            rsaExponent = OAuthHelper.BytesToString(publicRsaParameters.Exponent);
            rsaModulus  = OAuthHelper.BytesToString(publicRsaParameters.Modulus);
        }
 public OrderedPartCollection <T> Init(Raven.Abstractions.Threading.ThreadLocal <bool> disableApplicationValue)
 {
     disableApplication = disableApplicationValue;
     return(this);
 }