// 
// Decompiled by Procyon v0.6.0
// 

package org.bouncycastle.crypto.parsers;

import java.io.IOException;
import org.bouncycastle.crypto.params.X448PublicKeyParameters;
import org.bouncycastle.crypto.params.X25519PublicKeyParameters;
import org.bouncycastle.util.io.Streams;
import org.bouncycastle.crypto.params.AsymmetricKeyParameter;
import java.io.InputStream;
import org.bouncycastle.crypto.KeyParser;

public class XIESPublicKeyParser implements KeyParser
{
    private final boolean isX25519;
    
    public XIESPublicKeyParser(final boolean isX25519) {
        this.isX25519 = isX25519;
    }
    
    @Override
    public AsymmetricKeyParameter readKey(final InputStream inputStream) throws IOException {
        final byte[] array = new byte[this.isX25519 ? 32 : 56];
        Streams.readFully(inputStream, array, 0, array.length);
        return this.isX25519 ? new X25519PublicKeyParameters(array, 0) : new X448PublicKeyParameters(array, 0);
    }
}
