package org.bouncycastle.test.est;
import java.net.Socket;
import org.bouncycastle.est.jcajce.ChannelBindingProvider;
import org.bouncycastle.jsse.BCSSLConnection;
import org.bouncycastle.jsse.BCSSLSocket;
/**
* BouncyCastle specific channel binding provider.
* Access to channel bindings like tls-unique have not been standardised in JSSE.
* So provider specific implementations must be built.
*/
public class BCChannelBindingProvider
implements ChannelBindingProvider
{
public boolean canAccessChannelBinding(Socket sock)
{
return sock instanceof BCSSLSocket;
}
public byte[] getChannelBinding(Socket sock, String binding)
{
BCSSLConnection bcon = ((BCSSLSocket)sock).getConnection();
if (bcon != null)
{
return bcon.getChannelBinding(binding);
}
return null;
}
}