001package org.apache.commons.ssl.org.bouncycastle.asn1.ua; 002 003import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Object; 004import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1OctetString; 005import org.apache.commons.ssl.org.bouncycastle.asn1.ASN1Primitive; 006import org.apache.commons.ssl.org.bouncycastle.asn1.DEROctetString; 007import org.bouncycastle.math.ec.ECPoint; 008 009public class DSTU4145PublicKey 010 extends ASN1Object 011{ 012 013 private ASN1OctetString pubKey; 014 015 public DSTU4145PublicKey(ECPoint pubKey) 016 { 017 // We always use big-endian in parameter encoding 018 this.pubKey = new DEROctetString(DSTU4145PointEncoder.encodePoint(pubKey)); 019 } 020 021 private DSTU4145PublicKey(ASN1OctetString ocStr) 022 { 023 pubKey = ocStr; 024 } 025 026 public static DSTU4145PublicKey getInstance(Object obj) 027 { 028 if (obj instanceof DSTU4145PublicKey) 029 { 030 return (DSTU4145PublicKey)obj; 031 } 032 033 if (obj != null) 034 { 035 return new DSTU4145PublicKey(ASN1OctetString.getInstance(obj)); 036 } 037 038 return null; 039 } 040 041 public ASN1Primitive toASN1Primitive() 042 { 043 return pubKey; 044 } 045 046}