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