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)); }
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)); }
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())); } }
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)); }