diff options
Diffstat (limited to 'crypto/src/crypto/parameters/X25519PublicKeyParameters.cs')
-rw-r--r-- | crypto/src/crypto/parameters/X25519PublicKeyParameters.cs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/crypto/src/crypto/parameters/X25519PublicKeyParameters.cs b/crypto/src/crypto/parameters/X25519PublicKeyParameters.cs index 7df5f624d..c28e4de16 100644 --- a/crypto/src/crypto/parameters/X25519PublicKeyParameters.cs +++ b/crypto/src/crypto/parameters/X25519PublicKeyParameters.cs @@ -14,6 +14,11 @@ namespace Org.BouncyCastle.Crypto.Parameters private readonly byte[] data = new byte[KeySize]; + public X25519PublicKeyParameters(byte[] buf) + : this(Validate(buf), 0) + { + } + public X25519PublicKeyParameters(byte[] buf, int off) : base(false) { @@ -36,5 +41,13 @@ namespace Org.BouncyCastle.Crypto.Parameters { return Arrays.Clone(data); } + + private static byte[] Validate(byte[] buf) + { + if (buf.Length != KeySize) + throw new ArgumentException("must have length " + KeySize, "buf"); + + return buf; + } } } |