io.airlift.security.jwks.JwkEcPublicKey Maven / Gradle / Ivy
package io.airlift.security.jwks;
import java.io.ObjectStreamException;
import java.security.interfaces.ECPublicKey;
import java.security.spec.ECParameterSpec;
import java.security.spec.ECPoint;
import static java.util.Objects.requireNonNull;
public class JwkEcPublicKey
implements JwkPublicKey, ECPublicKey
{
private final String keyId;
private final ECParameterSpec parameterSpec;
private final ECPoint w;
public JwkEcPublicKey(String keyId, ECParameterSpec parameterSpec, ECPoint w)
{
this.keyId = requireNonNull(keyId, "keyId is null");
this.parameterSpec = requireNonNull(parameterSpec, "parameterSpec is null");
this.w = requireNonNull(w, "w is null");
}
@Override
public String getKeyId()
{
return keyId;
}
@Override
public ECParameterSpec getParams()
{
return parameterSpec;
}
@Override
public ECPoint getW()
{
return w;
}
@Override
public String getAlgorithm()
{
return "EC";
}
@Override
public String getFormat()
{
return "JWK";
}
@Override
public byte[] getEncoded()
{
throw new UnsupportedOperationException();
}
protected Object writeReplace()
throws ObjectStreamException
{
throw new UnsupportedOperationException("Java object serialization is not supported");
}
}