summary refs log tree commit diff
path: root/Crypto/src/asn1/x9/DHPublicKey.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Crypto/src/asn1/x9/DHPublicKey.cs')
-rw-r--r--Crypto/src/asn1/x9/DHPublicKey.cs44
1 files changed, 44 insertions, 0 deletions
diff --git a/Crypto/src/asn1/x9/DHPublicKey.cs b/Crypto/src/asn1/x9/DHPublicKey.cs
new file mode 100644

index 000000000..1a20a8a16 --- /dev/null +++ b/Crypto/src/asn1/x9/DHPublicKey.cs
@@ -0,0 +1,44 @@ +using System; + +namespace Org.BouncyCastle.Asn1.X9 +{ + public class DHPublicKey + : Asn1Encodable + { + private readonly DerInteger y; + + public static DHPublicKey GetInstance(Asn1TaggedObject obj, bool isExplicit) + { + return GetInstance(DerInteger.GetInstance(obj, isExplicit)); + } + + public static DHPublicKey GetInstance(object obj) + { + if (obj == null || obj is DHPublicKey) + return (DHPublicKey)obj; + + if (obj is DerInteger) + return new DHPublicKey((DerInteger)obj); + + throw new ArgumentException("Invalid DHPublicKey: " + obj.GetType().FullName, "obj"); + } + + public DHPublicKey(DerInteger y) + { + if (y == null) + throw new ArgumentNullException("y"); + + this.y = y; + } + + public DerInteger Y + { + get { return this.y; } + } + + public override Asn1Object ToAsn1Object() + { + return this.y; + } + } +}