001package org.apache.commons.ssl.org.bouncycastle.asn1.x9; 002 003import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Integer; 004import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Object; 005import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Primitive; 006import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1TaggedObject; 007 008public class DHPublicKey 009 extends ASN1Object 010{ 011 private ASN1Integer y; 012 013 public static DHPublicKey getInstance(ASN1TaggedObject obj, boolean explicit) 014 { 015 return getInstance(ASN1Integer.getInstance(obj, explicit)); 016 } 017 018 public static DHPublicKey getInstance(Object obj) 019 { 020 if (obj == null || obj instanceof DHPublicKey) 021 { 022 return (DHPublicKey)obj; 023 } 024 025 if (obj instanceof ASN1Integer) 026 { 027 return new DHPublicKey((ASN1Integer)obj); 028 } 029 030 throw new IllegalArgumentException("Invalid DHPublicKey: " + obj.getClass().getName()); 031 } 032 033 public DHPublicKey(ASN1Integer y) 034 { 035 if (y == null) 036 { 037 throw new IllegalArgumentException("'y' cannot be null"); 038 } 039 040 this.y = y; 041 } 042 043 public ASN1Integer getY() 044 { 045 return this.y; 046 } 047 048 public ASN1Primitive toASN1Primitive() 049 { 050 return this.y; 051 } 052}