1 files changed, 7 insertions, 5 deletions
diff --git a/crypto/src/crypto/agreement/ECDHCBasicAgreement.cs b/crypto/src/crypto/agreement/ECDHCBasicAgreement.cs
index f0b5d1e02..bb4c185df 100644
--- a/crypto/src/crypto/agreement/ECDHCBasicAgreement.cs
+++ b/crypto/src/crypto/agreement/ECDHCBasicAgreement.cs
@@ -31,15 +31,17 @@ namespace Org.BouncyCastle.Crypto.Agreement
{
private ECPrivateKeyParameters privKey;
- public virtual void Init(
- ICipherParameters parameters)
+ public virtual void Init(ICipherParameters parameters)
{
- if (parameters is ParametersWithRandom)
+ if (parameters is ParametersWithRandom withRandom)
{
- parameters = ((ParametersWithRandom) parameters).Parameters;
+ parameters = withRandom.Parameters;
}
- this.privKey = (ECPrivateKeyParameters)parameters;
+ if (!(parameters is ECPrivateKeyParameters ecPrivateKeyParameters))
+ throw new ArgumentException("ECDHCBasicAgreement expects ECPrivateKeyParameters");
+
+ this.privKey = ecPrivateKeyParameters;
}
public virtual int GetFieldSize()
|