Example #1
0
        private static ICipherParameters GetPrivateParameters(IKey key)
        {
            DsaPrivateKeyParameters privateKeyParameters;
            SecureRandom            random;

            if (key is KeyWithRandom)
            {
                KeyWithRandom k = (KeyWithRandom)key;

                privateKeyParameters = GetPrivateKeyParameters((AsymmetricDsaPrivateKey)k.Key);
                random = k.Random;
            }
            else
            {
                privateKeyParameters = GetPrivateKeyParameters((AsymmetricDsaPrivateKey)key);
                random = CryptoServicesRegistrar.GetSecureRandom();
            }

            int effSizeInBits = privateKeyParameters.Parameters.P.BitLength;

            if (CryptoServicesRegistrar.IsInApprovedOnlyMode())
            {
                if (effSizeInBits != 2048 && effSizeInBits != 3072)
                {
                    throw new CryptoUnapprovedOperationError("attempt to create signer with unapproved keysize [" + effSizeInBits + "]", Alg);
                }
            }

            return(new ParametersWithRandom(privateKeyParameters, random));
        }
Example #2
0
        private static ICipherParameters GetPrivateParameters(IKey key)
        {
            AsymmetricECPrivateKey pK;
            SecureRandom           random;

            if (key is KeyWithRandom)
            {
                KeyWithRandom k = (KeyWithRandom)key;

                pK     = (AsymmetricECPrivateKey)k.Key;
                random = k.Random;
            }
            else
            {
                pK     = (AsymmetricECPrivateKey)key;
                random = CryptoServicesRegistrar.GetSecureRandom();
            }

            if (CryptoServicesRegistrar.IsInApprovedOnlyMode())
            {
                validateCurveSize(Alg, pK.DomainParameters);
            }

            return(new ParametersWithRandom(GetPrivateKeyParameters(pK), random));
        }
Example #3
0
        private static ICipherParameters GetPrivateParameters(IKey privateKey, AsymmetricRsaKey.Usage rsaUsage)
        {
            if (privateKey is KeyWithRandom)
            {
                KeyWithRandom k = (KeyWithRandom)privateKey;

                return(new ParametersWithRandom(GetPrivateKeyParameters((AsymmetricRsaPrivateKey)k.Key, rsaUsage), k.Random));
            }
            else
            {
                return(new ParametersWithRandom(GetPrivateKeyParameters((AsymmetricRsaPrivateKey)privateKey, rsaUsage), CryptoServicesRegistrar.GetSecureRandom()));
            }
        }
Example #4
0
        private static ICipherParameters GetPrivateParameters(IKey key)
        {
            DsaPrivateKeyParameters privateKeyParameters;
            SecureRandom            random;

            if (key is KeyWithRandom)
            {
                KeyWithRandom k = (KeyWithRandom)key;

                privateKeyParameters = GetPrivateKeyParameters((AsymmetricDsaPrivateKey)k.Key);
                random = k.Random;
            }
            else
            {
                privateKeyParameters = GetPrivateKeyParameters((AsymmetricDsaPrivateKey)key);
                random = CryptoServicesRegistrar.GetSecureRandom();
            }

            return(new ParametersWithRandom(privateKeyParameters, random));
        }