1 package org.bouncycastle.jcajce.provider.asymmetric.edec; 2 3 import java.security.interfaces.XECPublicKey; 4 import java.security.spec.AlgorithmParameterSpec; 5 import java.security.spec.InvalidKeySpecException; 6 import java.security.spec.NamedParameterSpec; 7 8 import org.bouncycastle.asn1.x509.SubjectPublicKeyInfo; 9 import org.bouncycastle.crypto.params.AsymmetricKeyParameter; 10 import org.bouncycastle.crypto.params.X448PublicKeyParameters; 11 12 class BC11XDHPublicKey 13 extends BCXDHPublicKey 14 implements XECPublicKey 15 { BC11XDHPublicKey(AsymmetricKeyParameter pubKey)16 BC11XDHPublicKey(AsymmetricKeyParameter pubKey) 17 { 18 super(pubKey); 19 } 20 BC11XDHPublicKey(SubjectPublicKeyInfo keyInfo)21 BC11XDHPublicKey(SubjectPublicKeyInfo keyInfo) 22 { 23 super(keyInfo); 24 } 25 BC11XDHPublicKey(byte[] prefix, byte[] rawData)26 BC11XDHPublicKey(byte[] prefix, byte[] rawData) 27 throws InvalidKeySpecException 28 { 29 super(prefix, rawData); 30 } 31 getParams()32 public AlgorithmParameterSpec getParams() 33 { 34 if (xdhPublicKey instanceof X448PublicKeyParameters) 35 { 36 return NamedParameterSpec.X448; 37 } 38 else 39 { 40 return NamedParameterSpec.X25519; 41 } 42 } 43 } 44